ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-3.0/src/brains/Exclude.hpp
(Generate patch)

Comparing branches/new_design/OOPSE-3.0/src/brains/Exclude.hpp (file contents):
Revision 1683, Thu Oct 28 22:34:02 2004 UTC vs.
Revision 1727 by tim, Thu Nov 11 16:41:58 2004 UTC

# Line 1 | Line 1
1   #ifndef __EXCLUDE_H__
2 +
3   #define __EXCLUDE_H__
4  
5   #include <set>
6   #include <utility>
7 + #include <iostream>
8  
9 < using namespace std;
9 > namespace oopse {
10  
11 < class Exclude{
12 <  
13 < public:
11 >    /**
12 >     * @class Exclude Exclude.hpp "brains/Exclude.hpp"
13 >     * @brief Exclude class maintains the exclusion list of the simulation by the global indices of the
14 >     * atoms. The exclusion list will be passed to fortran in a plain array.
15 >     */
16 >    class Exclude {
17 >        public:
18  
19 <  ~Exclude();
14 <  
15 <  void addPair(int i, int j);
16 <  int  hasPair(int i, int j);
17 <  void printMe( void );
18 <  int  getSize( void );  
19 <  int* getFortranArray( void );
20 <  static Exclude* Instance();
21 <
22 < protected:
19 >            Exclude();
20  
21 <  set<pair<int, int> > excludeSet;
25 <  int* exPairs;
26 <  bool newFortranArrayNeeded;
27 <  Exclude();
21 >            ~Exclude();
22  
23 < private:
24 <  static Exclude* _instance;  
23 >            /** Adds a pair into this Exclude class */
24 >            void addPair(int i, int j);
25  
26 < };    
26 >            /** Remove a pair from Exclude class */
27 >            void removePair(int i, int j);
28  
29 +            /** Checks whether pair (i, j) is in this Exclude class */
30 +            bool hasPair(int i, int j) {
31 +                return findPair(i, j) != excludeSet_.end();
32 +            }
33 +
34 +            /** Returns the number of exclusion pair */
35 +            int getSize();
36 +
37 +            /** Returns the size of exclusion list */
38 +            int getSizeOfExcludeList();
39 +
40 +            /** Returns the exclusion pairs in a plain array*/
41 +            int *getExcludeList();
42 +
43 +            /** write out the exclusion list to an ostream */
44 +            friend std::ostream& operator(std::ostream& o, Exclude& e);
45 +
46 +        private:
47 +
48 +            std::set<std::pair<int, int> >::iterator findPair(int i, int j);
49 +
50 +            std::set < std::pair<int, int> > excludeSet_;
51 +            std::vector < std::pair<int, int> > excludeList_;
52 +            bool modified_;
53 +    };
54 +
55 + }      //end namespace oopse
56 +
57   #endif // __EXCLUDE_H__

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines