| 7 |
|
|
| 8 |
|
#include "SimState.hpp" |
| 9 |
|
#include "StuntDouble.hpp" |
| 10 |
+ |
#include "BaseVisitor.hpp" |
| 11 |
|
|
| 12 |
|
class Atom : public StuntDouble { |
| 13 |
|
public: |
| 40 |
|
int getIdent( void ) { return ident; } |
| 41 |
|
void setIdent( int info ) { ident = info; } |
| 42 |
|
|
| 43 |
+ |
void getRc(double theRc[3]); |
| 44 |
+ |
void setRc(double theRc[3]); |
| 45 |
+ |
|
| 46 |
+ |
double getMassRatio() { return *massRatio;} |
| 47 |
+ |
void setMassRatio(double theMassRatio) { *massRatio = theMassRatio;} |
| 48 |
+ |
|
| 49 |
|
#ifdef IS_MPI |
| 50 |
|
int getGlobalIndex( void ) { return myGlobalIndex; } |
| 51 |
|
void setGlobalIndex( int info ) { myGlobalIndex = info; } |
| 57 |
|
void setHasCharge(int value) {has_charge = value;} |
| 58 |
|
int hasCharge(void) {return has_charge;} |
| 59 |
|
|
| 60 |
+ |
|
| 61 |
+ |
virtual void accept(BaseVisitor* v) {v->visit(this);} |
| 62 |
+ |
|
| 63 |
|
protected: |
| 64 |
|
|
| 65 |
|
SimState* myConfig; |
| 71 |
|
double* Amat; // the rotation matrix |
| 72 |
|
double* mu; // the array of dipole moments |
| 73 |
|
double* ul; // the lab frame unit directional vector |
| 74 |
+ |
double* rc; //the center of mass of the molecule |
| 75 |
+ |
double* massRatio; //the ratio of this atom to the total mass of the molecule |
| 76 |
|
|
| 77 |
|
double c_mass; /* the mass of the atom in amu */ |
| 78 |
|
|