occ
Loading...
Searching...
No Matches
occ::mults::MoleculeState Struct Reference

State of a rigid molecule (COM position + orientation). More...

#include <crystal_energy.h>

Public Member Functions

Mat3 rotation_matrix () const
 Compute full orientation matrix in O(3) (det = parity).
 
Mat3 proper_rotation_matrix () const
 Compute proper SO(3) component (det = +1) from angle-axis.
 

Static Public Member Functions

static MoleculeState from_rotation (const Vec3 &pos, const Mat3 &R)
 Create from rotation matrix (extracts parity + proper angle-axis part).
 

Public Attributes

Vec3 position = Vec3::Zero()
 COM position (Angstrom)
 
Vec3 angle_axis = Vec3::Zero()
 Proper rotation part as angle-axis (radians)
 
int parity = 1
 Orientation parity (+1 proper, -1 improper)
 

Detailed Description

State of a rigid molecule (COM position + orientation).

Member Function Documentation

◆ from_rotation()

static MoleculeState occ::mults::MoleculeState::from_rotation ( const Vec3 pos,
const Mat3 R 
)
static

Create from rotation matrix (extracts parity + proper angle-axis part).

◆ proper_rotation_matrix()

Mat3 occ::mults::MoleculeState::proper_rotation_matrix ( ) const

Compute proper SO(3) component (det = +1) from angle-axis.

◆ rotation_matrix()

Mat3 occ::mults::MoleculeState::rotation_matrix ( ) const

Compute full orientation matrix in O(3) (det = parity).

Member Data Documentation

◆ angle_axis

Vec3 occ::mults::MoleculeState::angle_axis = Vec3::Zero()

Proper rotation part as angle-axis (radians)

◆ parity

int occ::mults::MoleculeState::parity = 1

Orientation parity (+1 proper, -1 improper)

◆ position

Vec3 occ::mults::MoleculeState::position = Vec3::Zero()

COM position (Angstrom)


The documentation for this struct was generated from the following file: