| 178 | 
  | 
    //project the inertial moment of directional atoms into this rigid body | 
| 179 | 
  | 
    for (std::size_t i = 0; i < atoms_.size(); i++) { | 
| 180 | 
  | 
      if (atoms_[i]->isDirectional()) { | 
| 181 | 
< | 
        RectMatrix<double, 3, 3> Iproject = refOrients_[i].transpose() * atoms_[i]->getI(); | 
| 182 | 
< | 
        Itmp(0, 0) += Iproject(0, 0); | 
| 183 | 
< | 
        Itmp(1, 1) += Iproject(1, 1); | 
| 184 | 
< | 
        Itmp(2, 2) += Iproject(2, 2); | 
| 181 | 
> | 
            Itmp += refOrients_[i].transpose() * atoms_[i]->getI() * refOrients_[i]; | 
| 182 | 
  | 
      } | 
| 183 | 
  | 
    } | 
| 184 | 
  | 
 | 
| 270 | 
  | 
      if (atoms_[i]->isDirectional()) { | 
| 271 | 
  | 
           | 
| 272 | 
  | 
        dAtom = (DirectionalAtom *) atoms_[i]; | 
| 273 | 
< | 
        dAtom->setA(a * refOrients_[i]); | 
| 277 | 
< | 
        //dAtom->rotateBy( A );       | 
| 273 | 
> | 
        dAtom->setA(refOrients_[i] * a); | 
| 274 | 
  | 
      } | 
| 275 | 
  | 
 | 
| 276 | 
  | 
    } | 
| 297 | 
  | 
      if (atoms_[i]->isDirectional()) { | 
| 298 | 
  | 
           | 
| 299 | 
  | 
        dAtom = (DirectionalAtom *) atoms_[i]; | 
| 300 | 
< | 
        dAtom->setA(a * refOrients_[i], frame); | 
| 300 | 
> | 
        dAtom->setA(refOrients_[i] * a, frame); | 
| 301 | 
  | 
      } | 
| 302 | 
  | 
 | 
| 303 | 
  | 
    } |