#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 47 of file G4AssemblyVolume.cc.
48{
53 if (aStore->
GetAssembly(fAssemblyID,
false) !=
nullptr)
54 {
55 std::ostringstream message;
56 message <<
"The assembly has NOT been registered !" <<
G4endl
57 << " Assembly " << fAssemblyID
58 <<
" already existing in store !" <<
G4endl;
59 G4Exception(
"G4AssemblyVolume::G4AssemblyVolume()",
"GeomVol1001",
61 }
62 else
63 {
65 }
66}
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 71 of file G4AssemblyVolume.cc.
74{
80 if (aStore->
GetAssembly(fAssemblyID,
false) !=
nullptr)
81 {
82 std::ostringstream message;
83 message <<
"The assembly has NOT been registered !" <<
G4endl
84 << " Assembly " << fAssemblyID
85 <<
" already existing in store !" <<
G4endl;
86 G4Exception(
"G4Assembly::G4Assembly()",
"GeomVol1001",
88 }
89 else
90 {
92 }
93}
void AddPlacedVolume(G4LogicalVolume *pPlacedVolume, G4ThreeVector &translation, G4RotationMatrix *rotation)
◆ ~G4AssemblyVolume()
G4AssemblyVolume::~G4AssemblyVolume |
( |
| ) |
|
Definition at line 98 of file G4AssemblyVolume.cc.
99{
100 std::size_t howmany = fTriplets.size();
101 if( howmany != 0 )
102 {
103 for( std::size_t i = 0; i < howmany; ++i )
104 {
106 delete pRotToClean;
107 }
108 }
109 fTriplets.clear();
110
111
112
113
114 fPVStore.clear();
117}
static void DeRegister(G4AssemblyVolume *pAssembly)
void InstanceCountMinus()
◆ AddPlacedAssembly() [1/2]
Definition at line 169 of file G4AssemblyVolume.cc.
172{
174
175 if( pRotation != nullptr ) { *toStore = *pRotation; }
176
178 fTriplets.push_back( toAdd );
179}
CLHEP::HepRotation G4RotationMatrix
◆ AddPlacedAssembly() [2/2]
◆ AddPlacedVolume() [1/2]
◆ AddPlacedVolume() [2/2]
Definition at line 145 of file G4AssemblyVolume.cc.
147{
148
153
157
158 G4bool isReflection =
false;
159 if (scale(0,0)*scale(1,1)*scale(2,2) < 0.) { isReflection = true; }
160
162 fTriplets.push_back( toAdd );
163}
◆ 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 343 of file G4AssemblyVolume.cc.
348{
349
350
351
352
353
354
355
356
357 if( pRotationInMother == nullptr )
358 {
359
360
361 pRotationInMother =
363 }
364
366 translationInMother );
367 MakeImprint(
this, pMotherLV, transform, copyNumBase, surfCheck);
368}
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(), 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 392 of file G4AssemblyVolume.cc.
393{
394 G4AssemblyVolume::fsInstanceCounter = value;
395}
◆ 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: