| 45 | 
  | 
namespace OpenMD { | 
| 46 | 
  | 
 | 
| 47 | 
  | 
  /**@todo still a lot left to improve*/ | 
| 48 | 
< | 
  void GhostBend::calcForce(RealType& angle) { | 
| 48 | 
> | 
  void GhostBend::calcForce(RealType& angle, bool doParticlePot) { | 
| 49 | 
  | 
    DirectionalAtom* ghostAtom = static_cast<DirectionalAtom*>(atom2_); | 
| 50 | 
  | 
     | 
| 51 | 
  | 
    Vector3d pos1 = atom1_->getPos(); | 
| 95 | 
  | 
    ghostAtom->addFrc(-force1); | 
| 96 | 
  | 
 | 
| 97 | 
  | 
    ghostAtom->addTrq( cross(r23, force3) );     | 
| 98 | 
+ | 
    if(doParticlePot) { | 
| 99 | 
+ | 
      atom1_->addParticlePot(potential_); | 
| 100 | 
+ | 
      ghostAtom->addParticlePot(potential_); | 
| 101 | 
+ | 
    } | 
| 102 | 
  | 
 | 
| 99 | 
– | 
    atom1_->addParticlePot(potential_); | 
| 100 | 
– | 
    ghostAtom->addParticlePot(potential_); | 
| 101 | 
– | 
 | 
| 103 | 
  | 
    angle = theta /M_PI * 180.0; | 
| 104 | 
  | 
    | 
| 105 | 
  | 
  }   |