# OutOfPlaneSite¶

class OpenMM::OutOfPlaneSite

This is a VirtualSite that computes the particle location based on three other particles’ locations. If r1 is the location of particle 1, r12 is the vector from particle 1 to particle 2, and r13 is the vector from particle 1 to particle 3, then the virtual site location is given by

r1 + w12 r12 + w13 r13 + wcross (r12 x r13 )

The three weight factors are user-specified. This allows the virtual site location to be out of the plane of the three particles.

Methods

 OutOfPlaneSite Create a new OutOfPlaneSite virtual site. getWeight12 Get the weight factor for the vector from particle1 to particle2. getWeight13 Get the weight factor for the vector from particle1 to particle3. getWeightCross Get the weight factor for the cross product.
OutOfPlaneSite(int particle1, int particle2, int particle3, double weight12, double weight13, double weightCross)

Create a new OutOfPlaneSite() virtual site.

• particle1 – the index of the first particle
• particle2 – the index of the second particle
• particle3 – the index of the third particle
• weight12 – the weight factor for the vector from particle1 to particle2
• weight13 – the weight factor for the vector from particle1 to particle3
• weightCross – the weight factor for the cross product
double getWeight12() const

Get the weight factor for the vector from particle1 to particle2.

double getWeight13() const

Get the weight factor for the vector from particle1 to particle3.

double getWeightCross() const

Get the weight factor for the cross product.