Geant4-11
|
#include <G4AssemblyVolume.hh>
Public Member Functions | |
void | AddPlacedAssembly (G4AssemblyVolume *pAssembly, G4ThreeVector &translation, G4RotationMatrix *rotation) |
void | AddPlacedAssembly (G4AssemblyVolume *pAssembly, G4Transform3D &transformation) |
void | AddPlacedVolume (G4LogicalVolume *pPlacedVolume, G4ThreeVector &translation, G4RotationMatrix *rotation) |
void | AddPlacedVolume (G4LogicalVolume *pPlacedVolume, G4Transform3D &transformation) |
G4AssemblyVolume () | |
G4AssemblyVolume (G4LogicalVolume *volume, G4ThreeVector &translation, G4RotationMatrix *rotation) | |
unsigned int | GetAssemblyID () const |
unsigned int | GetImprintsCount () const |
G4Transform3D & | GetImprintTransformation (unsigned int imprintID) |
unsigned int | GetInstanceCount () const |
std::vector< G4AssemblyTriplet >::iterator | GetTripletsIterator () |
std::vector< G4VPhysicalVolume * >::iterator | GetVolumesIterator () |
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::size_t | TotalImprintedVolumes () const |
std::size_t | TotalTriplets () const |
~G4AssemblyVolume () | |
Protected Member Functions | |
void | ImprintsCountMinus () |
void | ImprintsCountPlus () |
void | InstanceCountMinus () |
void | InstanceCountPlus () |
void | SetAssemblyID (unsigned int value) |
void | SetImprintsCount (unsigned int value) |
void | SetInstanceCount (unsigned int value) |
Private Member Functions | |
void | MakeImprint (G4AssemblyVolume *pAssembly, G4LogicalVolume *pMotherLV, G4Transform3D &transformation, G4int copyNumBase=0, G4bool surfCheck=false) |
Private Attributes | |
unsigned int | fAssemblyID = 0 |
unsigned int | fImprintsCounter |
std::map< unsigned int, G4Transform3D > | fImprintsTransf |
std::vector< G4VPhysicalVolume * > | fPVStore |
std::vector< G4AssemblyTriplet > | fTriplets |
Static Private Attributes | |
static G4ThreadLocal unsigned int | fsInstanceCounter = 0 |
Definition at line 53 of file G4AssemblyVolume.hh.
G4AssemblyVolume::G4AssemblyVolume | ( | ) |
Definition at line 45 of file G4AssemblyVolume.cc.
References fAssemblyID, G4endl, G4Exception(), G4AssemblyStore::GetAssembly(), G4AssemblyStore::GetInstance(), GetInstanceCount(), InstanceCountPlus(), JustWarning, G4AssemblyStore::Register(), SetAssemblyID(), and SetImprintsCount().
G4AssemblyVolume::G4AssemblyVolume | ( | G4LogicalVolume * | volume, |
G4ThreeVector & | translation, | ||
G4RotationMatrix * | rotation | ||
) |
Definition at line 68 of file G4AssemblyVolume.cc.
References AddPlacedVolume(), fAssemblyID, G4endl, G4Exception(), G4AssemblyStore::GetAssembly(), G4AssemblyStore::GetInstance(), GetInstanceCount(), InstanceCountPlus(), JustWarning, G4AssemblyStore::Register(), SetAssemblyID(), and SetImprintsCount().
G4AssemblyVolume::~G4AssemblyVolume | ( | ) |
Definition at line 94 of file G4AssemblyVolume.cc.
References G4AssemblyStore::DeRegister(), fPVStore, fTriplets, G4AssemblyStore::GetInstance(), and InstanceCountMinus().
void G4AssemblyVolume::AddPlacedAssembly | ( | G4AssemblyVolume * | pAssembly, |
G4ThreeVector & | translation, | ||
G4RotationMatrix * | rotation | ||
) |
Definition at line 165 of file G4AssemblyVolume.cc.
References fTriplets.
void G4AssemblyVolume::AddPlacedAssembly | ( | G4AssemblyVolume * | pAssembly, |
G4Transform3D & | transformation | ||
) |
Definition at line 180 of file G4AssemblyVolume.cc.
References fTriplets, HepGeom::Transform3D::getDecomposition(), HepGeom::Transform3D::getRotation(), and HepGeom::Transform3D::getTranslation().
Referenced by G4GDMLReadStructure::PhysvolRead().
void G4AssemblyVolume::AddPlacedVolume | ( | G4LogicalVolume * | pPlacedVolume, |
G4ThreeVector & | translation, | ||
G4RotationMatrix * | rotation | ||
) |
Definition at line 128 of file G4AssemblyVolume.cc.
References fTriplets.
Referenced by G4tgbVolume::ConstructG4PhysVol(), G4AssemblyVolume(), and G4GDMLReadStructure::PhysvolRead().
void G4AssemblyVolume::AddPlacedVolume | ( | G4LogicalVolume * | pPlacedVolume, |
G4Transform3D & | transformation | ||
) |
Definition at line 142 of file G4AssemblyVolume.cc.
References fTriplets, HepGeom::Transform3D::getDecomposition(), HepGeom::Transform3D::getRotation(), and HepGeom::Transform3D::getTranslation().
|
inline |
Referenced by MakeImprint().
|
inline |
Referenced by MakeImprint().
|
inline |
Referenced by G4GDMLWriteStructure::TraverseVolumeTree().
unsigned int G4AssemblyVolume::GetInstanceCount | ( | ) | const |
Definition at line 377 of file G4AssemblyVolume.cc.
References fsInstanceCounter.
Referenced by G4AssemblyVolume().
|
inline |
Referenced by G4GDMLWriteStructure::AssemblyWrite().
|
inline |
|
inlineprotected |
|
inlineprotected |
Referenced by MakeImprint().
|
protected |
Definition at line 392 of file G4AssemblyVolume.cc.
References fsInstanceCounter.
Referenced by ~G4AssemblyVolume().
|
protected |
Definition at line 387 of file G4AssemblyVolume.cc.
References fsInstanceCounter.
Referenced by G4AssemblyVolume().
|
private |
Definition 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().
void G4AssemblyVolume::MakeImprint | ( | G4LogicalVolume * | pMotherLV, |
G4ThreeVector & | translationInMother, | ||
G4RotationMatrix * | pRotationInMother, | ||
G4int | copyNumBase = 0 , |
||
G4bool | surfCheck = false |
||
) |
Definition at line 336 of file G4AssemblyVolume.cc.
References CLHEP::HepRotation::IDENTITY, MakeImprint(), and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
Referenced by G4tgbVolume::ConstructG4PhysVol(), MakeImprint(), and G4GDMLReadStructure::PhysvolRead().
void G4AssemblyVolume::MakeImprint | ( | G4LogicalVolume * | pMotherLV, |
G4Transform3D & | transformation, | ||
G4int | copyNumBase = 0 , |
||
G4bool | surfCheck = false |
||
) |
Definition at line 363 of file G4AssemblyVolume.cc.
References MakeImprint().
|
inlineprotected |
Referenced by G4AssemblyVolume().
|
inlineprotected |
Referenced by G4AssemblyVolume().
|
inlineprotected |
Definition at line 382 of file G4AssemblyVolume.cc.
References fsInstanceCounter.
|
inline |
|
inline |
Referenced by G4GDMLWriteStructure::AssemblyWrite().
|
private |
Definition at line 217 of file G4AssemblyVolume.hh.
Referenced by G4AssemblyVolume().
|
private |
Definition at line 209 of file G4AssemblyVolume.hh.
|
private |
Definition at line 221 of file G4AssemblyVolume.hh.
Referenced by MakeImprint().
|
private |
Definition at line 198 of file G4AssemblyVolume.hh.
Referenced by MakeImprint(), and ~G4AssemblyVolume().
|
staticprivate |
Definition at line 213 of file G4AssemblyVolume.hh.
Referenced by GetInstanceCount(), InstanceCountMinus(), InstanceCountPlus(), and SetInstanceCount().
|
private |
Definition at line 193 of file G4AssemblyVolume.hh.
Referenced by AddPlacedAssembly(), AddPlacedVolume(), MakeImprint(), and ~G4AssemblyVolume().