Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4AssemblyTriplet Class Reference

G4AssemblyTriplet is a helper class for placing logical or assembly volumes inside a generic container together with information about its rotation, placement and eventually reflection. How to interpret the rotation and translation depends on the class which uses a container of these triplets. The first class using G4AssemblyTriplet is G4AssemblyVolume. The pointer to the logical or assembly volume is copied so this class does not take its ownership and does not delete the object behind. More...

#include <G4AssemblyTriplet.hh>

Public Member Functions

 G4AssemblyTriplet ()
 G4AssemblyTriplet (G4LogicalVolume *pVolume, G4ThreeVector &translation, G4RotationMatrix *pRotation, G4bool isReflection=false)
 G4AssemblyTriplet (G4AssemblyVolume *pAssembly, G4ThreeVector &translation, G4RotationMatrix *pRotation, G4bool isReflection=false)
 G4AssemblyTriplet (const G4AssemblyTriplet &second)
 ~G4AssemblyTriplet ()
G4AssemblyTripletoperator= (const G4AssemblyTriplet &second)
G4LogicalVolumeGetVolume () const
void SetVolume (G4LogicalVolume *pVolume)
G4AssemblyVolumeGetAssembly () const
void SetAssembly (G4AssemblyVolume *pAssembly)
G4ThreeVector GetTranslation () const
void SetTranslation (G4ThreeVector &pVolume)
G4RotationMatrixGetRotation () const
void SetRotation (G4RotationMatrix *pVolume)
G4bool IsReflection () const

Detailed Description

G4AssemblyTriplet is a helper class for placing logical or assembly volumes inside a generic container together with information about its rotation, placement and eventually reflection. How to interpret the rotation and translation depends on the class which uses a container of these triplets. The first class using G4AssemblyTriplet is G4AssemblyVolume. The pointer to the logical or assembly volume is copied so this class does not take its ownership and does not delete the object behind.

Definition at line 61 of file G4AssemblyTriplet.hh.

Constructor & Destructor Documentation

◆ G4AssemblyTriplet() [1/4]

G4AssemblyTriplet::G4AssemblyTriplet ( )

Default constructor.

Referenced by G4AssemblyTriplet(), and operator=().

◆ G4AssemblyTriplet() [2/4]

G4AssemblyTriplet::G4AssemblyTriplet ( G4LogicalVolume * pVolume,
G4ThreeVector & translation,
G4RotationMatrix * pRotation,
G4bool isReflection = false )

An explicit constructor for a logical volume.

Parameters
[in]pVolumePointer to the logical volume.
[in]translationTranslation vector.
[in]pRotationPointer to the rotation matrix.
[in]isReflectionFlag to specify if volume is reflected.

◆ G4AssemblyTriplet() [3/4]

G4AssemblyTriplet::G4AssemblyTriplet ( G4AssemblyVolume * pAssembly,
G4ThreeVector & translation,
G4RotationMatrix * pRotation,
G4bool isReflection = false )

An explicit constructor for an assembly volume.

Parameters
[in]pAssemblyPointer to the assembly volume.
[in]translationTranslation vector.
[in]pRotationPointer to the rotation matrix.
[in]isReflectionFlag to specify if volume is reflected.

◆ G4AssemblyTriplet() [4/4]

G4AssemblyTriplet::G4AssemblyTriplet ( const G4AssemblyTriplet & second)

Copy constructor.

◆ ~G4AssemblyTriplet()

G4AssemblyTriplet::~G4AssemblyTriplet ( )

Destructor.

Member Function Documentation

◆ GetAssembly()

G4AssemblyVolume * G4AssemblyTriplet::GetAssembly ( ) const
inline

Retrieves the assembly volume reference.

◆ GetRotation()

G4RotationMatrix * G4AssemblyTriplet::GetRotation ( ) const
inline

Retrieves the logical volume rotation.

◆ GetTranslation()

G4ThreeVector G4AssemblyTriplet::GetTranslation ( ) const
inline

Retrieves the logical volume translation.

◆ GetVolume()

G4LogicalVolume * G4AssemblyTriplet::GetVolume ( ) const
inline

Retrieves the logical volume reference.

◆ IsReflection()

G4bool G4AssemblyTriplet::IsReflection ( ) const
inline

Returns true if the logical or assembly volume has reflection.

◆ operator=()

G4AssemblyTriplet & G4AssemblyTriplet::operator= ( const G4AssemblyTriplet & second)

Assignment operator.

◆ SetAssembly()

void G4AssemblyTriplet::SetAssembly ( G4AssemblyVolume * pAssembly)
inline

Updates the assembly volume reference.

◆ SetRotation()

void G4AssemblyTriplet::SetRotation ( G4RotationMatrix * pVolume)
inline

Updates the logical volume rotation.

◆ SetTranslation()

void G4AssemblyTriplet::SetTranslation ( G4ThreeVector & pVolume)
inline

Updates the logical volume translation.

◆ SetVolume()

void G4AssemblyTriplet::SetVolume ( G4LogicalVolume * pVolume)
inline

Updates the logical volume reference.


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