#include <G4AssemblyVolume.hh>
|
| 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 |
|
G4Transform3D & | GetImprintTransformation (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 |
|
Definition at line 53 of file G4AssemblyVolume.hh.
◆ G4AssemblyVolume() [1/2]
G4AssemblyVolume::G4AssemblyVolume |
( |
| ) |
|
Definition at line 45 of file G4AssemblyVolume.cc.
46{
52 {
53 std::ostringstream message;
54 message <<
"The assembly has NOT been registered !" <<
G4endl
55 << " Assembly " << fAssemblyID
56 <<
" already existing in store !" <<
G4endl;
57 G4Exception(
"G4AssemblyVolume::G4AssemblyVolume()",
"GeomVol1001",
59 }
60 else
61 {
63 }
64}
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
static G4AssemblyStore * GetInstance()
G4AssemblyVolume * GetAssembly(unsigned int id, G4bool verbose=true) const
static void Register(G4AssemblyVolume *pAssembly)
void SetAssemblyID(unsigned int value)
void SetImprintsCount(unsigned int value)
unsigned int GetInstanceCount() const
◆ G4AssemblyVolume() [2/2]
Definition at line 68 of file G4AssemblyVolume.cc.
71{
78 {
79 std::ostringstream message;
80 message <<
"The assembly has NOT been registered !" <<
G4endl
81 << " Assembly " << fAssemblyID
82 <<
" already existing in store !" <<
G4endl;
83 G4Exception(
"G4Assembly::G4Assembly()",
"GeomVol1001",
85 }
86 else
87 {
89 }
90}
void AddPlacedVolume(G4LogicalVolume *pPlacedVolume, G4ThreeVector &translation, G4RotationMatrix *rotation)
◆ ~G4AssemblyVolume()
G4AssemblyVolume::~G4AssemblyVolume |
( |
| ) |
|
Definition at line 94 of file G4AssemblyVolume.cc.
95{
96 std::size_t howmany = fTriplets.size();
97 if( howmany != 0 )
98 {
99 for( std::size_t i = 0; i < howmany; ++i )
100 {
102 if( pRotToClean != 0 )
103 {
104 delete pRotToClean;
105 }
106 }
107 }
108 fTriplets.clear();
109
110
111
112
113 fPVStore.clear();
116}
static void DeRegister(G4AssemblyVolume *pAssembly)
void InstanceCountMinus()
◆ AddPlacedAssembly() [1/2]
Definition at line 165 of file G4AssemblyVolume.cc.
168{
170
171 if( pRotation != nullptr ) { *toStore = *pRotation; }
172
174 fTriplets.push_back( toAdd );
175}
CLHEP::HepRotation G4RotationMatrix
◆ AddPlacedAssembly() [2/2]
◆ AddPlacedVolume() [1/2]
◆ AddPlacedVolume() [2/2]
Definition at line 142 of file G4AssemblyVolume.cc.
144{
145
150
154
155 G4bool isReflection =
false;
156 if (scale(0,0)*scale(1,1)*scale(2,2) < 0.) { isReflection = true; }
157
159 fTriplets.push_back( toAdd );
160}
◆ GetAssemblyID()
unsigned int G4AssemblyVolume::GetAssemblyID |
( |
| ) |
const |
|
inline |
◆ GetImprintsCount()
unsigned int G4AssemblyVolume::GetImprintsCount |
( |
| ) |
const |
|
inline |
◆ GetImprintTransformation()
G4Transform3D & G4AssemblyVolume::GetImprintTransformation |
( |
unsigned int |
imprintID | ) |
|
|
inline |
◆ GetInstanceCount()
unsigned int G4AssemblyVolume::GetInstanceCount |
( |
| ) |
const |
◆ GetTripletsIterator()
◆ GetVolumesIterator()
std::vector< G4VPhysicalVolume * >::iterator G4AssemblyVolume::GetVolumesIterator |
( |
| ) |
|
|
inline |
◆ ImprintsCountMinus()
void G4AssemblyVolume::ImprintsCountMinus |
( |
| ) |
|
|
inlineprotected |
◆ ImprintsCountPlus()
void G4AssemblyVolume::ImprintsCountPlus |
( |
| ) |
|
|
inlineprotected |
◆ InstanceCountMinus()
void G4AssemblyVolume::InstanceCountMinus |
( |
| ) |
|
|
protected |
◆ InstanceCountPlus()
void G4AssemblyVolume::InstanceCountPlus |
( |
| ) |
|
|
protected |
◆ MakeImprint() [1/2]
Definition at line 336 of file G4AssemblyVolume.cc.
341{
342
343
344
345
346
347
348
349
350 if( pRotationInMother == nullptr )
351 {
352
353
354 pRotationInMother =
356 }
357
359 translationInMother );
360 MakeImprint(
this, pMotherLV, transform, copyNumBase, surfCheck);
361}
static DLL_API const HepRotation IDENTITY
void MakeImprint(G4LogicalVolume *pMotherLV, G4ThreeVector &translationInMother, G4RotationMatrix *pRotationInMother, G4int copyNumBase=0, G4bool surfCheck=false)
Referenced by G4tgbVolume::ConstructG4PhysVol(), MakeImprint(), and G4GDMLReadStructure::PhysvolRead().
◆ MakeImprint() [2/2]
◆ SetAssemblyID()
void G4AssemblyVolume::SetAssemblyID |
( |
unsigned int |
value | ) |
|
|
inlineprotected |
◆ SetImprintsCount()
void G4AssemblyVolume::SetImprintsCount |
( |
unsigned int |
value | ) |
|
|
inlineprotected |
◆ SetInstanceCount()
void G4AssemblyVolume::SetInstanceCount |
( |
unsigned int |
value | ) |
|
|
inlineprotected |
Definition at line 382 of file G4AssemblyVolume.cc.
383{
384 G4AssemblyVolume::fsInstanceCounter = value;
385}
◆ TotalImprintedVolumes()
std::size_t G4AssemblyVolume::TotalImprintedVolumes |
( |
| ) |
const |
|
inline |
◆ TotalTriplets()
std::size_t G4AssemblyVolume::TotalTriplets |
( |
| ) |
const |
|
inline |
The documentation for this class was generated from the following files: