| 64 |  |  | 
| 65 |  | virtual std::string getType() { return name_;} | 
| 66 |  |  | 
| 67 | < | /** Sets the name of this stuntdouble*/ | 
| 67 | > | /** Sets the name of this stuntRealType*/ | 
| 68 |  | virtual void setType(const std::string& name) { name_ = name;} | 
| 69 |  |  | 
| 70 |  |  | 
| 97 |  |  | 
| 98 |  |  | 
| 99 |  | /** Sets the internal unit frame of this stuntdouble by three euler angles */ | 
| 100 | < | void setElectroFrameFromEuler(double phi, double theta, double psi); | 
| 100 | > | void setElectroFrameFromEuler(RealType phi, RealType theta, RealType psi); | 
| 101 |  |  | 
| 102 |  | /** | 
| 103 |  | * Returns the gradient of this stuntdouble | 
| 104 |  | * @return the inertia tensor of this stuntdouble | 
| 105 |  | * @see #setI | 
| 106 |  | */ | 
| 107 | < | virtual std::vector<double> getGrad(); | 
| 107 | > | virtual std::vector<RealType> getGrad(); | 
| 108 |  |  | 
| 109 |  | virtual void accept(BaseVisitor* v); | 
| 110 |  |  | 
| 111 |  | void addAtom(Atom* at, AtomStamp* ats); | 
| 112 |  |  | 
| 113 | < | /** calculate the reference coordinates */ | 
| 113 | > | /** calculates the reference coordinates */ | 
| 114 |  | void calcRefCoords(); | 
| 115 |  |  | 
| 116 | < | /** Convert Atomic forces and torques to total forces and torques */ | 
| 116 | > | /** Converts Atomic forces and torques to total forces and torques */ | 
| 117 |  | void calcForcesAndTorques(); | 
| 118 |  |  | 
| 119 | + | /** Converts Atomic forces and torques to total forces and torques and computes the rigid body contribution to the virial.  Returns the rigid body contribution to the virial as a 3x3 matrix. */ | 
| 120 | + | Mat3x3d calcForcesAndTorquesAndVirial(); | 
| 121 | + |  | 
| 122 |  | /** update the positions of atoms belong to this rigidbody */ | 
| 123 |  | void updateAtoms(); | 
| 124 |  |  |