ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4AssemblyVolume Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/volumes/include/G4AssemblyVolume.hh>

+ Collaboration diagram for G4AssemblyVolume:

Public Member Functions

 G4AssemblyVolume ()
 
 G4AssemblyVolume (G4LogicalVolume *volume, G4ThreeVector &translation, G4RotationMatrix *rotation)
 
 ~G4AssemblyVolume ()
 
void AddPlacedVolume (G4LogicalVolume *pPlacedVolume, G4ThreeVector &translation, G4RotationMatrix *rotation)
 
void AddPlacedVolume (G4LogicalVolume *pPlacedVolume, G4Transform3D &transformation)
 
void AddPlacedAssembly (G4AssemblyVolume *pAssembly, G4Transform3D &transformation)
 
void AddPlacedAssembly (G4AssemblyVolume *pAssembly, G4ThreeVector &translation, G4RotationMatrix *rotation)
 
void MakeImprint (G4LogicalVolume *pMotherLV, G4ThreeVector &translationInMother, G4RotationMatrix *pRotationInMother, G4int copyNumBase=0, G4bool surfCheck=false)
 
void MakeImprint (G4LogicalVolume *pMotherLV, G4Transform3D &transformation, G4int copyNumBase=0, G4bool surfCheck=false)
 
std::vector< G4VPhysicalVolume * >
::iterator 
GetVolumesIterator ()
 
std::size_t TotalImprintedVolumes () const
 
G4Transform3DGetImprintTransformation (unsigned int imprintID)
 
std::vector< G4AssemblyTriplet >
::iterator 
GetTripletsIterator ()
 
std::size_t TotalTriplets () const
 
unsigned int GetImprintsCount () const
 
unsigned int GetInstanceCount () const
 
unsigned int GetAssemblyID () const
 

Protected Member Functions

void SetInstanceCount (unsigned int value)
 
void SetAssemblyID (unsigned int value)
 
void InstanceCountPlus ()
 
void InstanceCountMinus ()
 
void SetImprintsCount (unsigned int value)
 
void ImprintsCountPlus ()
 
void ImprintsCountMinus ()
 

Private Member Functions

void MakeImprint (G4AssemblyVolume *pAssembly, G4LogicalVolume *pMotherLV, G4Transform3D &transformation, G4int copyNumBase=0, G4bool surfCheck=false)
 

Private Attributes

std::vector< G4AssemblyTripletfTriplets
 
std::vector< G4VPhysicalVolume * > fPVStore
 
unsigned int fImprintsCounter
 
unsigned int fAssemblyID = 0
 
std::map< unsigned int,
G4Transform3D
fImprintsTransf
 

Static Private Attributes

static G4ThreadLocal unsigned int fsInstanceCounter = 0
 

Detailed Description

Definition at line 53 of file G4AssemblyVolume.hh.

View newest version in sPHENIX GitHub at line 53 of file G4AssemblyVolume.hh

Constructor & Destructor Documentation

G4AssemblyVolume::G4AssemblyVolume ( )

Definition at line 45 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 45 of file G4AssemblyVolume.cc

References fAssemblyID, G4endl, G4Exception(), G4AssemblyStore::GetAssembly(), G4AssemblyStore::GetInstance(), GetInstanceCount(), InstanceCountPlus(), JustWarning, message(), G4AssemblyStore::Register(), SetAssemblyID(), and SetImprintsCount().

+ Here is the call graph for this function:

G4AssemblyVolume::G4AssemblyVolume ( G4LogicalVolume volume,
G4ThreeVector translation,
G4RotationMatrix rotation 
)

Definition at line 68 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 68 of file G4AssemblyVolume.cc

References AddPlacedVolume(), fAssemblyID, G4endl, G4Exception(), G4AssemblyStore::GetAssembly(), G4AssemblyStore::GetInstance(), GetInstanceCount(), InstanceCountPlus(), JustWarning, message(), G4AssemblyStore::Register(), SetAssemblyID(), and SetImprintsCount().

+ Here is the call graph for this function:

G4AssemblyVolume::~G4AssemblyVolume ( )

Definition at line 94 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 94 of file G4AssemblyVolume.cc

References G4AssemblyStore::DeRegister(), fPVStore, fTriplets, G4AssemblyStore::GetInstance(), and InstanceCountMinus().

+ Here is the call graph for this function:

Member Function Documentation

void G4AssemblyVolume::AddPlacedAssembly ( G4AssemblyVolume pAssembly,
G4Transform3D transformation 
)

Definition at line 180 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 180 of file G4AssemblyVolume.cc

References fTriplets, HepGeom::Transform3D::getDecomposition(), HepGeom::Transform3D::getRotation(), HepGeom::Transform3D::getTranslation(), r, scale, and v.

Referenced by PHG4TpcEndCapDetector::ConstructElectronics(), and G4GDMLReadStructure::PhysvolRead().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4AssemblyVolume::AddPlacedAssembly ( G4AssemblyVolume pAssembly,
G4ThreeVector translation,
G4RotationMatrix rotation 
)

Definition at line 165 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 165 of file G4AssemblyVolume.cc

References fTriplets.

void G4AssemblyVolume::AddPlacedVolume ( G4LogicalVolume pPlacedVolume,
G4Transform3D transformation 
)

Definition at line 142 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 142 of file G4AssemblyVolume.cc

References fTriplets, HepGeom::Transform3D::getDecomposition(), HepGeom::Transform3D::getRotation(), HepGeom::Transform3D::getTranslation(), r, scale, and v.

+ Here is the call graph for this function:

unsigned int G4AssemblyVolume::GetAssemblyID ( ) const
inline

Referenced by MakeImprint().

+ Here is the caller graph for this function:

unsigned int G4AssemblyVolume::GetImprintsCount ( ) const
inline

Referenced by MakeImprint().

+ Here is the caller graph for this function:

G4Transform3D& G4AssemblyVolume::GetImprintTransformation ( unsigned int  imprintID)
inline

Referenced by G4GDMLWriteStructure::TraverseVolumeTree().

+ Here is the caller graph for this function:

unsigned int G4AssemblyVolume::GetInstanceCount ( ) const

Definition at line 377 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 377 of file G4AssemblyVolume.cc

References fsInstanceCounter.

Referenced by G4AssemblyVolume().

+ Here is the caller graph for this function:

std::vector<G4AssemblyTriplet>::iterator G4AssemblyVolume::GetTripletsIterator ( )
inline

Referenced by G4GDMLWriteStructure::AssemblyWrite().

+ Here is the caller graph for this function:

std::vector<G4VPhysicalVolume*>::iterator G4AssemblyVolume::GetVolumesIterator ( )
inline
void G4AssemblyVolume::ImprintsCountMinus ( )
inlineprotected
void G4AssemblyVolume::ImprintsCountPlus ( )
inlineprotected

Referenced by MakeImprint().

+ Here is the caller graph for this function:

void G4AssemblyVolume::InstanceCountMinus ( )
protected

Definition at line 392 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 392 of file G4AssemblyVolume.cc

References fsInstanceCounter.

Referenced by ~G4AssemblyVolume().

+ Here is the caller graph for this function:

void G4AssemblyVolume::InstanceCountPlus ( )
protected

Definition at line 387 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 387 of file G4AssemblyVolume.cc

References fsInstanceCounter.

Referenced by G4AssemblyVolume().

+ Here is the caller graph for this function:

void G4AssemblyVolume::MakeImprint ( G4LogicalVolume pMotherLV,
G4Transform3D transformation,
G4int  copyNumBase = 0,
G4bool  surfCheck = false 
)

Definition at line 363 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 363 of file G4AssemblyVolume.cc

References MakeImprint().

+ Here is the call graph for this function:

void G4AssemblyVolume::MakeImprint ( G4AssemblyVolume pAssembly,
G4LogicalVolume pMotherLV,
G4Transform3D transformation,
G4int  copyNumBase = 0,
G4bool  surfCheck = false 
)
private

Definition at line 239 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 239 of file G4AssemblyVolume.cc

References FatalException, fImprintsTransf, fPVStore, fTriplets, G4Exception(), GetAssemblyID(), GetImprintsCount(), G4LogicalVolume::GetNoDaughters(), pyG4VTouchable::GetRotation, ImprintsCountPlus(), G4ReflectionFactory::Instance(), MakeImprint(), and G4ReflectionFactory::Place().

+ Here is the call graph for this function:

void G4AssemblyVolume::SetAssemblyID ( unsigned int  value)
inlineprotected

Referenced by G4AssemblyVolume().

+ Here is the caller graph for this function:

void G4AssemblyVolume::SetImprintsCount ( unsigned int  value)
inlineprotected

Referenced by G4AssemblyVolume().

+ Here is the caller graph for this function:

void G4AssemblyVolume::SetInstanceCount ( unsigned int  value)
inlineprotected

Definition at line 382 of file G4AssemblyVolume.cc.

View newest version in sPHENIX GitHub at line 382 of file G4AssemblyVolume.cc

References fsInstanceCounter.

std::size_t G4AssemblyVolume::TotalImprintedVolumes ( ) const
inline
std::size_t G4AssemblyVolume::TotalTriplets ( ) const
inline

Referenced by G4GDMLWriteStructure::AssemblyWrite().

+ Here is the caller graph for this function:

Member Data Documentation

unsigned int G4AssemblyVolume::fAssemblyID = 0
private

Definition at line 217 of file G4AssemblyVolume.hh.

View newest version in sPHENIX GitHub at line 217 of file G4AssemblyVolume.hh

Referenced by G4AssemblyVolume().

unsigned int G4AssemblyVolume::fImprintsCounter
private

Definition at line 209 of file G4AssemblyVolume.hh.

View newest version in sPHENIX GitHub at line 209 of file G4AssemblyVolume.hh

std::map<unsigned int, G4Transform3D> G4AssemblyVolume::fImprintsTransf
private

Definition at line 221 of file G4AssemblyVolume.hh.

View newest version in sPHENIX GitHub at line 221 of file G4AssemblyVolume.hh

Referenced by MakeImprint().

std::vector<G4VPhysicalVolume*> G4AssemblyVolume::fPVStore
private

Definition at line 198 of file G4AssemblyVolume.hh.

View newest version in sPHENIX GitHub at line 198 of file G4AssemblyVolume.hh

Referenced by MakeImprint(), and ~G4AssemblyVolume().

G4ThreadLocal unsigned int G4AssemblyVolume::fsInstanceCounter = 0
staticprivate

Definition at line 213 of file G4AssemblyVolume.hh.

View newest version in sPHENIX GitHub at line 213 of file G4AssemblyVolume.hh

Referenced by GetInstanceCount(), InstanceCountMinus(), InstanceCountPlus(), and SetInstanceCount().

std::vector<G4AssemblyTriplet> G4AssemblyVolume::fTriplets
private

Definition at line 193 of file G4AssemblyVolume.hh.

View newest version in sPHENIX GitHub at line 193 of file G4AssemblyVolume.hh

Referenced by AddPlacedAssembly(), AddPlacedVolume(), MakeImprint(), and ~G4AssemblyVolume().


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