Geant4  10.02.p02
G4AssemblyVolume Class Reference

#include <G4AssemblyVolume.hh>

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 ()
 
unsigned int TotalImprintedVolumes () 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
 

Static Private Attributes

static G4ThreadLocal unsigned int fsInstanceCounter = 0
 

Detailed Description

Definition at line 60 of file G4AssemblyVolume.hh.

Constructor & Destructor Documentation

G4AssemblyVolume::G4AssemblyVolume ( )

Definition at line 48 of file G4AssemblyVolume.cc.

References GetInstanceCount(), InstanceCountPlus(), SetAssemblyID(), and SetImprintsCount().

+ Here is the call graph for this function:

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

Definition at line 58 of file G4AssemblyVolume.cc.

References AddPlacedVolume(), GetInstanceCount(), InstanceCountPlus(), SetAssemblyID(), and SetImprintsCount().

+ Here is the call graph for this function:

G4AssemblyVolume::~G4AssemblyVolume ( )

Definition at line 71 of file G4AssemblyVolume.cc.

References fPVStore, fTriplets, and InstanceCountMinus().

+ Here is the call graph for this function:

Member Function Documentation

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

Definition at line 161 of file G4AssemblyVolume.cc.

References fTriplets.

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

Definition at line 146 of file G4AssemblyVolume.cc.

References fTriplets.

void G4AssemblyVolume::AddPlacedVolume ( G4LogicalVolume pPlacedVolume,
G4ThreeVector translation,
G4RotationMatrix rotation 
)

Definition at line 109 of file G4AssemblyVolume.cc.

References fTriplets.

Referenced by G02DetectorConstruction::ConstructAssembly(), G4tgbVolume::ConstructG4PhysVol(), G4AssemblyVolume(), and G4GDMLReadStructure::PhysvolRead().

+ Here is the caller graph for this function:

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

Definition at line 123 of file G4AssemblyVolume.cc.

References fTriplets.

unsigned int G4AssemblyVolume::GetAssemblyID ( ) const

Referenced by MakeImprint().

+ Here is the caller graph for this function:

unsigned int G4AssemblyVolume::GetImprintsCount ( ) const

Referenced by MakeImprint().

+ Here is the caller graph for this function:

unsigned int G4AssemblyVolume::GetInstanceCount ( ) const

Definition at line 351 of file G4AssemblyVolume.cc.

References fsInstanceCounter.

Referenced by G4AssemblyVolume().

+ Here is the caller graph for this function:

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

Referenced by MakeImprint().

+ Here is the caller graph for this function:

void G4AssemblyVolume::InstanceCountMinus ( )
protected

Definition at line 366 of file G4AssemblyVolume.cc.

References fsInstanceCounter.

Referenced by ~G4AssemblyVolume().

+ Here is the caller graph for this function:

void G4AssemblyVolume::InstanceCountPlus ( )
protected

Definition at line 361 of file G4AssemblyVolume.cc.

References fsInstanceCounter.

Referenced by G4AssemblyVolume().

+ Here is the caller graph for this function:

void G4AssemblyVolume::MakeImprint ( G4LogicalVolume pMotherLV,
G4ThreeVector translationInMother,
G4RotationMatrix pRotationInMother,
G4int  copyNumBase = 0,
G4bool  surfCheck = false 
)

Definition at line 310 of file G4AssemblyVolume.cc.

Referenced by G02DetectorConstruction::ConstructAssembly(), G4tgbVolume::ConstructG4PhysVol(), MakeImprint(), and G4GDMLReadStructure::PhysvolRead().

+ Here is the caller graph for this function:

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

Definition at line 337 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 220 of file G4AssemblyVolume.cc.

References FatalException, 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)
protected

Referenced by G4AssemblyVolume().

+ Here is the caller graph for this function:

void G4AssemblyVolume::SetImprintsCount ( unsigned int  value)
protected

Referenced by G4AssemblyVolume().

+ Here is the caller graph for this function:

void G4AssemblyVolume::SetInstanceCount ( unsigned int  value)
protected

Definition at line 356 of file G4AssemblyVolume.cc.

References fsInstanceCounter.

unsigned int G4AssemblyVolume::TotalImprintedVolumes ( ) const
inline

Member Data Documentation

unsigned int G4AssemblyVolume::fAssemblyID
private

Definition at line 217 of file G4AssemblyVolume.hh.

unsigned int G4AssemblyVolume::fImprintsCounter
private

Definition at line 209 of file G4AssemblyVolume.hh.

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

Definition at line 198 of file G4AssemblyVolume.hh.

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

G4ThreadLocal unsigned int G4AssemblyVolume::fsInstanceCounter = 0
staticprivate
std::vector<G4AssemblyTriplet> G4AssemblyVolume::fTriplets
private

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