PartitionBase< TYPEOFATOMS > Class Template Reference

#include <PartitionBaseT.h>

Inheritance diagram for PartitionBase< TYPEOFATOMS >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class TYPEOFATOMS>
class PartitionBase< TYPEOFATOMS >

Definition at line 29 of file PartitionBaseT.h.

Public Member Functions

bool attachAtoms (setOfFragments *fragments)
bool attachAtoms (TYPEOFATOMS *atoms)
bool build_fragmentStructure ()
void buildAtomsInZone ()
void fixAtomsInZone ()
bool fragmentsToAtoms ()
void getAtomsIndexInPartition (const int &part, std::vector< int > &index)
std::string getPartitionType ()
void newWriteInFile (std::ofstream &out)
void newWriteInFileOld (std::ofstream &out)
int numberOfPartition () const
 PartitionBase (const int size, const double R1, const double R2)
 PartitionBase ()
void readFromFile (std::ifstream &data)
void resetData ()
bool setAtomsInOverlapAndCut ()
void setLoad ()
void setPartitionType (const std::string &type)
void writeInFile (std::ofstream &out)
void writeInVTKFormat (std::ofstream &out)
 ~PartitionBase ()

Protected Member Functions

void newReadFromFile (std::ifstream &data)
void oldReadFromFile (std::ifstream &data)

Protected Attributes

std::vector< AtomIn > * _atomsInZone
int * _charge
std::vector< int > _firstATofFrag
std::vector< int > _nextATofFrag
int _numberOfPartition
std::string _partitionType
double _Rbuffer1
double _Rbuffer2
TYPEOFATOMS * _setOfAtoms
setOfFragments_setOfFragments
subDomain_subDomains
bool _useFrag


Constructor & Destructor Documentation

template<class TYPEOFATOMS>
PartitionBase< TYPEOFATOMS >::PartitionBase  ) 
 

Definition at line 31 of file PartitionBaseT.cpp.

template<class TYPEOFATOMS>
PartitionBase< TYPEOFATOMS >::PartitionBase const int  size,
const double  R1,
const double  R2
 

Definition at line 37 of file PartitionBaseT.cpp.

template<class TYPEOFATOMS>
PartitionBase< TYPEOFATOMS >::~PartitionBase  ) 
 

Definition at line 45 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_charge, PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_setOfAtoms, and PartitionBase< TYPEOFATOMS >::_subDomains.


Member Function Documentation

template<class TYPEOFATOMS>
bool PartitionBase< TYPEOFATOMS >::attachAtoms setOfFragments fragments  ) 
 

Definition at line 94 of file PartitionBaseT.cpp.

template<class TYPEOFATOMS>
bool PartitionBase< TYPEOFATOMS >::attachAtoms TYPEOFATOMS *  atoms  ) 
 

Reimplemented in AAPartition.

Definition at line 66 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_atomsInZone, PartitionBase< TYPEOFATOMS >::_charge, PartitionBase< TYPEOFATOMS >::_setOfAtoms, PartitionBase< TYPEOFATOMS >::_useFrag, and giveNumberOfOA().

Referenced by AAPartition::attachAtoms(), and main().

Here is the call graph for this function:

template<class TYPEOFATOMS>
bool PartitionBase< TYPEOFATOMS >::build_fragmentStructure  ) 
 

Definition at line 105 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_firstATofFrag, PartitionBase< TYPEOFATOMS >::_nextATofFrag, and PartitionBase< TYPEOFATOMS >::_setOfAtoms.

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::buildAtomsInZone  ) 
 

Definition at line 792 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_atomsInZone, AtomIn::_localNum, PartitionBase< TYPEOFATOMS >::_numberOfPartition, AtomIn::_numDomain, PartitionBase< TYPEOFATOMS >::_subDomains, AtomIn::_typeZone, Core_Zone, Cut_Zone, subDomain::getAtomsIndexInCut(), subDomain::getAtomsIndexInKernel(), subDomain::getAtomsIndexInOverlap(), and Overlap_Zone.

Here is the call graph for this function:

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::fixAtomsInZone  ) 
 

Definition at line 254 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_atomsInZone, and PartitionBase< TYPEOFATOMS >::_setOfAtoms.

template<class TYPEOFATOMS>
bool PartitionBase< TYPEOFATOMS >::fragmentsToAtoms  ) 
 

Definition at line 153 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_atomsInZone, PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_setOfAtoms, PartitionBase< TYPEOFATOMS >::_setOfFragments, PartitionBase< TYPEOFATOMS >::_useFrag, setOfFragments::getElement(), FragmentElement::numberOfAtoms(), and setOfFragments::totalNumberOfAtoms().

Here is the call graph for this function:

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::getAtomsIndexInPartition const int &  part,
std::vector< int > &  index
 

Definition at line 764 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_subDomains, subDomain::getAtomsIndexInCut(), subDomain::getAtomsIndexInKernel(), subDomain::getAtomsIndexInOverlap(), and subDomain::getNumberOfAtoms().

Here is the call graph for this function:

template<class TYPEOFATOMS>
std::string PartitionBase< TYPEOFATOMS >::getPartitionType void   )  [inline]
 

Definition at line 50 of file PartitionBaseT.h.

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::newReadFromFile std::ifstream &  data  )  [protected]
 

Definition at line 513 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_partitionType, PartitionBase< TYPEOFATOMS >::_Rbuffer1, PartitionBase< TYPEOFATOMS >::_Rbuffer2, PartitionBase< TYPEOFATOMS >::_subDomains, subDomain::addIndexInCut(), subDomain::addIndexInKernel(), subDomain::addIndexInOverlap(), subDomain::initNumberOfOverlapDomain(), and subDomain::setNumberOfNeighbor().

Referenced by PartitionBase< TYPEOFATOMS >::readFromFile().

Here is the call graph for this function:

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::newWriteInFile std::ofstream &  out  ) 
 

Definition at line 591 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_partitionType, PartitionBase< TYPEOFATOMS >::_Rbuffer1, PartitionBase< TYPEOFATOMS >::_Rbuffer2, PartitionBase< TYPEOFATOMS >::_subDomains, subDomain::getAtomsIndexInCut(), subDomain::getAtomsIndexInKernel(), subDomain::getAtomsIndexInOverlap(), subDomain::getNumberOfNeighbor(), and subDomain::getNumberOfNeighbors().

Referenced by main().

Here is the call graph for this function:

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::newWriteInFileOld std::ofstream &  out  ) 
 

Definition at line 708 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_partitionType, PartitionBase< TYPEOFATOMS >::_Rbuffer1, PartitionBase< TYPEOFATOMS >::_Rbuffer2, PartitionBase< TYPEOFATOMS >::_subDomains, subDomain::getAtomsIndexInCut(), subDomain::getAtomsIndexInKernel(), and subDomain::getAtomsIndexInOverlap().

Here is the call graph for this function:

template<class TYPEOFATOMS>
int PartitionBase< TYPEOFATOMS >::numberOfPartition  )  const [inline]
 

Definition at line 52 of file PartitionBaseT.h.

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::oldReadFromFile std::ifstream &  data  )  [protected]
 

Definition at line 413 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_partitionType, PartitionBase< TYPEOFATOMS >::_Rbuffer1, PartitionBase< TYPEOFATOMS >::_Rbuffer2, PartitionBase< TYPEOFATOMS >::_subDomains, subDomain::addIndexInKernel(), subDomain::initNumberOfOverlapDomain(), and subDomain::setNumberOfNeighbor().

Referenced by PartitionBase< TYPEOFATOMS >::readFromFile().

Here is the call graph for this function:

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::readFromFile std::ifstream &  data  ) 
 

Definition at line 383 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::newReadFromFile(), and PartitionBase< TYPEOFATOMS >::oldReadFromFile().

Here is the call graph for this function:

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::resetData  ) 
 

Definition at line 55 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_atomsInZone, PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_setOfAtoms, PartitionBase< TYPEOFATOMS >::_subDomains, and subDomain::resetData().

Here is the call graph for this function:

template<class TYPEOFATOMS>
bool PartitionBase< TYPEOFATOMS >::setAtomsInOverlapAndCut  ) 
 

Reimplemented in BoxPartition.

Definition at line 851 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_firstATofFrag, PartitionBase< TYPEOFATOMS >::_nextATofFrag, PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_Rbuffer1, PartitionBase< TYPEOFATOMS >::_Rbuffer2, PartitionBase< TYPEOFATOMS >::_setOfAtoms, PartitionBase< TYPEOFATOMS >::_subDomains, PartitionBase< TYPEOFATOMS >::_useFrag, subDomain::getAtomsIndexInCut(), subDomain::getAtomsIndexInKernel(), subDomain::getAtomsIndexInOverlap(), and subDomain::getNumberOfNeighbor().

Here is the call graph for this function:

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::setLoad  ) 
 

Definition at line 217 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_charge, PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_subDomains, subDomain::getAtomsIndexInCut(), subDomain::getAtomsIndexInKernel(), subDomain::getAtomsIndexInOverlap(), subDomain::loadInCut(), subDomain::loadInKernel(), and subDomain::loadInOverlap().

Here is the call graph for this function:

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::setPartitionType const std::string &  type  )  [inline]
 

Definition at line 48 of file PartitionBaseT.h.

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::writeInFile std::ofstream &  out  ) 
 

Definition at line 271 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_atomsInZone, PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_partitionType, PartitionBase< TYPEOFATOMS >::_Rbuffer1, PartitionBase< TYPEOFATOMS >::_Rbuffer2, PartitionBase< TYPEOFATOMS >::_setOfAtoms, PartitionBase< TYPEOFATOMS >::_subDomains, Cut_Zone, subDomain::getNumberOfAtoms(), and giveNumberOfOA().

Referenced by main().

Here is the call graph for this function:

template<class TYPEOFATOMS>
void PartitionBase< TYPEOFATOMS >::writeInVTKFormat std::ofstream &  out  ) 
 

Definition at line 654 of file PartitionBaseT.cpp.

References PartitionBase< TYPEOFATOMS >::_numberOfPartition, PartitionBase< TYPEOFATOMS >::_partitionType, PartitionBase< TYPEOFATOMS >::_setOfAtoms, PartitionBase< TYPEOFATOMS >::_subDomains, subDomain::getAtomsIndexInKernel(), subDomain::getAtomsIndexInOverlap(), and subDomain::getNumberOfNeighbor().

Here is the call graph for this function:


Member Data Documentation

template<class TYPEOFATOMS>
std::vector<AtomIn>* PartitionBase< TYPEOFATOMS >::_atomsInZone [protected]
 

Definition at line 77 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::attachAtoms(), PartitionBase< TYPEOFATOMS >::buildAtomsInZone(), PartitionBase< TYPEOFATOMS >::fixAtomsInZone(), PartitionBase< TYPEOFATOMS >::fragmentsToAtoms(), PartitionBase< TYPEOFATOMS >::resetData(), and PartitionBase< TYPEOFATOMS >::writeInFile().

template<class TYPEOFATOMS>
int* PartitionBase< TYPEOFATOMS >::_charge [protected]
 

Definition at line 73 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::attachAtoms(), PartitionBase< TYPEOFATOMS >::setLoad(), and PartitionBase< TYPEOFATOMS >::~PartitionBase().

template<class TYPEOFATOMS>
std::vector<int> PartitionBase< TYPEOFATOMS >::_firstATofFrag [protected]
 

Definition at line 82 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::build_fragmentStructure(), and PartitionBase< TYPEOFATOMS >::setAtomsInOverlapAndCut().

template<class TYPEOFATOMS>
std::vector<int> PartitionBase< TYPEOFATOMS >::_nextATofFrag [protected]
 

Definition at line 81 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::build_fragmentStructure(), and PartitionBase< TYPEOFATOMS >::setAtomsInOverlapAndCut().

template<class TYPEOFATOMS>
int PartitionBase< TYPEOFATOMS >::_numberOfPartition [protected]
 

Definition at line 72 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::buildAtomsInZone(), PartitionBase< TYPEOFATOMS >::fragmentsToAtoms(), PartitionBase< TYPEOFATOMS >::newReadFromFile(), PartitionBase< TYPEOFATOMS >::newWriteInFile(), PartitionBase< TYPEOFATOMS >::newWriteInFileOld(), PartitionBase< PDBstructure >::numberOfPartition(), PartitionBase< TYPEOFATOMS >::oldReadFromFile(), PartitionBase< TYPEOFATOMS >::resetData(), PartitionBase< TYPEOFATOMS >::setAtomsInOverlapAndCut(), PartitionBase< TYPEOFATOMS >::setLoad(), PartitionBase< TYPEOFATOMS >::writeInFile(), PartitionBase< TYPEOFATOMS >::writeInVTKFormat(), and PartitionBase< TYPEOFATOMS >::~PartitionBase().

template<class TYPEOFATOMS>
std::string PartitionBase< TYPEOFATOMS >::_partitionType [protected]
 

Definition at line 71 of file PartitionBaseT.h.

Referenced by PartitionBase< PDBstructure >::getPartitionType(), PartitionBase< TYPEOFATOMS >::newReadFromFile(), PartitionBase< TYPEOFATOMS >::newWriteInFile(), PartitionBase< TYPEOFATOMS >::newWriteInFileOld(), PartitionBase< TYPEOFATOMS >::oldReadFromFile(), PartitionBase< PDBstructure >::setPartitionType(), PartitionBase< TYPEOFATOMS >::writeInFile(), and PartitionBase< TYPEOFATOMS >::writeInVTKFormat().

template<class TYPEOFATOMS>
double PartitionBase< TYPEOFATOMS >::_Rbuffer1 [protected]
 

Definition at line 78 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::newReadFromFile(), PartitionBase< TYPEOFATOMS >::newWriteInFile(), PartitionBase< TYPEOFATOMS >::newWriteInFileOld(), PartitionBase< TYPEOFATOMS >::oldReadFromFile(), PartitionBase< TYPEOFATOMS >::setAtomsInOverlapAndCut(), and PartitionBase< TYPEOFATOMS >::writeInFile().

template<class TYPEOFATOMS>
double PartitionBase< TYPEOFATOMS >::_Rbuffer2 [protected]
 

Definition at line 79 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::newReadFromFile(), PartitionBase< TYPEOFATOMS >::newWriteInFile(), PartitionBase< TYPEOFATOMS >::newWriteInFileOld(), PartitionBase< TYPEOFATOMS >::oldReadFromFile(), PartitionBase< TYPEOFATOMS >::setAtomsInOverlapAndCut(), and PartitionBase< TYPEOFATOMS >::writeInFile().

template<class TYPEOFATOMS>
TYPEOFATOMS* PartitionBase< TYPEOFATOMS >::_setOfAtoms [protected]
 

Definition at line 74 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::attachAtoms(), PartitionBase< TYPEOFATOMS >::build_fragmentStructure(), PartitionBase< TYPEOFATOMS >::fixAtomsInZone(), PartitionBase< TYPEOFATOMS >::fragmentsToAtoms(), PartitionBase< TYPEOFATOMS >::resetData(), PartitionBase< TYPEOFATOMS >::setAtomsInOverlapAndCut(), PartitionBase< TYPEOFATOMS >::writeInFile(), PartitionBase< TYPEOFATOMS >::writeInVTKFormat(), and PartitionBase< TYPEOFATOMS >::~PartitionBase().

template<class TYPEOFATOMS>
setOfFragments* PartitionBase< TYPEOFATOMS >::_setOfFragments [protected]
 

Definition at line 75 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::fragmentsToAtoms().

template<class TYPEOFATOMS>
subDomain* PartitionBase< TYPEOFATOMS >::_subDomains [protected]
 

Definition at line 76 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::buildAtomsInZone(), PartitionBase< TYPEOFATOMS >::getAtomsIndexInPartition(), PartitionBase< TYPEOFATOMS >::newReadFromFile(), PartitionBase< TYPEOFATOMS >::newWriteInFile(), PartitionBase< TYPEOFATOMS >::newWriteInFileOld(), PartitionBase< TYPEOFATOMS >::oldReadFromFile(), PartitionBase< TYPEOFATOMS >::resetData(), PartitionBase< TYPEOFATOMS >::setAtomsInOverlapAndCut(), PartitionBase< TYPEOFATOMS >::setLoad(), PartitionBase< TYPEOFATOMS >::writeInFile(), PartitionBase< TYPEOFATOMS >::writeInVTKFormat(), and PartitionBase< TYPEOFATOMS >::~PartitionBase().

template<class TYPEOFATOMS>
bool PartitionBase< TYPEOFATOMS >::_useFrag [protected]
 

Definition at line 80 of file PartitionBaseT.h.

Referenced by PartitionBase< TYPEOFATOMS >::attachAtoms(), PartitionBase< TYPEOFATOMS >::fragmentsToAtoms(), and PartitionBase< TYPEOFATOMS >::setAtomsInOverlapAndCut().


The documentation for this class was generated from the following files:
Generated on Sat Jan 28 21:07:33 2006 for QC++ by  doxygen 1.4.4