--- trunk/src/utils/MoLocator.cpp 2005/04/15 22:04:00 507 +++ trunk/src/utils/MoLocator.cpp 2006/10/10 02:44:13 1062 @@ -58,6 +58,7 @@ namespace oopse { } void MoLocator::placeMol( const Vector3d& offset, const Vector3d& ort, Molecule* mol){ + Vector3d newCoor; Vector3d curRefCoor; RotMat3x3d rotMat = latVec2RotMat(ort); @@ -78,8 +79,8 @@ namespace oopse { newCoor = rotMat * refCoords[i]; newCoor += offset; - - integrableObject->setPos( newCoor); + + integrableObject->setPos(newCoor); integrableObject->setVel(V3Zero); if(integrableObject->isDirectional()){ @@ -94,28 +95,28 @@ namespace oopse { RigidBodyStamp* rbStamp; int nAtoms; int nRigidBodies; - std::vector mass; + std::vector mass; Vector3d coor; Vector3d refMolCom; int nAtomsInRb; - double totMassInRb; - double currAtomMass; - double molMass; + RealType totMassInRb; + RealType currAtomMass; + RealType molMass; nAtoms= myStamp->getNAtoms(); nRigidBodies = myStamp->getNRigidBodies(); for(size_t i=0; igetAtom(i); + currAtomStamp = myStamp->getAtomStamp(i); if( !currAtomStamp->havePosition() ){ sprintf( painCave.errMsg, "MoLocator error.\n" " Component %s, atom %s does not have a position specified.\n" " This means MoLocator cannot initalize it's position.\n", - myStamp->getID(), - currAtomStamp->getType() ); + myStamp->getName().c_str(), + currAtomStamp->getType().c_str()); painCave.isFatal = 1; simError(); @@ -138,7 +139,7 @@ namespace oopse { for(int i = 0; i < nRigidBodies; i++){ - rbStamp = myStamp->getRigidBody(i); + rbStamp = myStamp->getRigidBodyStamp(i); nAtomsInRb = rbStamp->getNMembers(); coor.x() = 0.0; @@ -148,7 +149,7 @@ namespace oopse { for(int j = 0; j < nAtomsInRb; j++){ - currAtomStamp = myStamp->getAtom(rbStamp->getMember(j)); + currAtomStamp = myStamp->getAtomStamp(rbStamp->getMemberAt(j)); currAtomMass = getAtomMass(currAtomStamp->getType(), myFF); totMassInRb += currAtomMass; @@ -182,8 +183,8 @@ namespace oopse { refCoords[i] -= refMolCom; } - double getAtomMass(const std::string& at, ForceField* myFF) { - double mass; + RealType getAtomMass(const std::string& at, ForceField* myFF) { + RealType mass; AtomType* atomType= myFF->getAtomType(at); if (atomType != NULL) { mass = atomType->getMass(); @@ -194,22 +195,22 @@ namespace oopse { return mass; } - double getMolMass(MoleculeStamp *molStamp, ForceField *myFF) { + RealType getMolMass(MoleculeStamp *molStamp, ForceField *myFF) { int nAtoms; - double totMass = 0; + RealType totMass = 0; nAtoms = molStamp->getNAtoms(); for(size_t i = 0; i < nAtoms; i++) { - AtomStamp *currAtomStamp = molStamp->getAtom(i); + AtomStamp *currAtomStamp = molStamp->getAtomStamp(i); totMass += getAtomMass(currAtomStamp->getType(), myFF); } return totMass; } RotMat3x3d latVec2RotMat(const Vector3d& lv){ - double theta =acos(lv[2]); - double phi = atan2(lv[1], lv[0]); - double psi = 0; + RealType theta =acos(lv[2]); + RealType phi = atan2(lv[1], lv[0]); + RealType psi = 0; return RotMat3x3d(phi, theta, psi);