|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4PVPlacement represents a single volume positioned within and relative to a mother volume. More...
#include <G4PVPlacement.hh>
Additional Inherited Members | |
| Static Public Member Functions inherited from G4VPhysicalVolume | |
| static const G4PVManager & | GetSubInstanceManager () |
| static void | Clean () |
| Protected Member Functions inherited from G4VPhysicalVolume | |
| void | InitialiseWorker (G4VPhysicalVolume *pMasterObject, G4RotationMatrix *pRot, const G4ThreeVector &tlate) |
| void | TerminateWorker (G4VPhysicalVolume *pMasterObject) |
| Protected Attributes inherited from G4VPhysicalVolume | |
| G4int | instanceID |
| Static Protected Attributes inherited from G4VPhysicalVolume | |
| static G4GEOM_DLL G4PVManager | subInstanceManager |
G4PVPlacement represents a single volume positioned within and relative to a mother volume.
Definition at line 46 of file G4PVPlacement.hh.
| G4PVPlacement::G4PVPlacement | ( | G4RotationMatrix * | pRot, |
| const G4ThreeVector & | tlate, | ||
| G4LogicalVolume * | pCurrentLogical, | ||
| const G4String & | pName, | ||
| G4LogicalVolume * | pMotherLogical, | ||
| G4bool | pMany, | ||
| G4int | pCopyNo, | ||
| G4bool | pSurfChk = false ) |
Initialises a single volume, positioned in a frame which is rotated by '*pRot' and traslated by 'tlate', relative to the coordinate system of the mother volume 'pMotherLogical'. If 'pRot=nullptr' the volume is unrotated with respect to its mother. The physical volume is added to the mother's logical volume. This is a very natural way of defining a physical volume, and is especially useful when creating subdetectors: the mother volumes are not placed until a later stage of the assembly program.
| [in] | pRot | The pointer to the rotation in the mother volume. |
| [in] | tlate | Traslation vector in the mother volume. |
| [in] | pCurrentLogical | Pointer to its logical volume. |
| [in] | pName | The volume name. |
| [in] | pMotherLogical | Pointer to the logical volume of the mother. |
| [in] | pMany | Flag to identify if the volume is meant to be considered an overlapping structure, or not. - not used. |
| [in] | pCopyNo | The optional custom copy number. Should be set to 0 for the first volume of a given type. |
| [in] | pSurfChk | Boolean flag, if true activates check for overlaps with existing volumes (false by default). |
Definition at line 99 of file G4PVPlacement.cc.
Referenced by G4PVPlacement(), and operator=().
| G4PVPlacement::G4PVPlacement | ( | const G4Transform3D & | Transform3D, |
| G4LogicalVolume * | pCurrentLogical, | ||
| const G4String & | pName, | ||
| G4LogicalVolume * | pMotherLogical, | ||
| G4bool | pMany, | ||
| G4int | pCopyNo, | ||
| G4bool | pSurfChk = false ) |
Additional constructor, which expects a G4Transform3D object that represents the direct rotation and translation of the solid (NOT of the frame). The G4Transform3D argument should be constructed by: i) First rotating it to align the solid to the system of reference of its mother volume *pMotherLogical, and ii) Then placing the solid at the location Transform3D.getTranslation(), with respect to the origin of the system of coordinates of the mother volume.
This construct is useful for the people who prefer to think in terms of moving objects in a given reference frame. All other arguments are the same as for the previous constructor.
| [in] | Transform3D | The transformation in the 3D space. |
| [in] | pCurrentLogical | Pointer to its logical volume. |
| [in] | pName | The volume name. |
| [in] | pMotherLogical | Pointer to the logical volume of the mother. |
| [in] | pMany | Flag to identify if the volume is meant to be considered an overlapping structure, or not. - not used. |
| [in] | pCopyNo | The optional custom copy number. Should be set to 0 for the first volume of a given type. |
| [in] | pSurfChk | Boolean flag, if true activates check for overlaps with existing volumes (false by default). |
Definition at line 123 of file G4PVPlacement.cc.
| G4PVPlacement::G4PVPlacement | ( | G4RotationMatrix * | pRot, |
| const G4ThreeVector & | tlate, | ||
| const G4String & | pName, | ||
| G4LogicalVolume * | pLogical, | ||
| G4VPhysicalVolume * | pMother, | ||
| G4bool | pMany, | ||
| G4int | pCopyNo, | ||
| G4bool | pSurfChk = false ) |
A simple variation of the first constructor, only specifying the mother volume as a pointer to its physical volume instead of its logical volume. The effect is exactly the same.
Definition at line 40 of file G4PVPlacement.cc.
| G4PVPlacement::G4PVPlacement | ( | const G4Transform3D & | Transform3D, |
| const G4String & | pName, | ||
| G4LogicalVolume * | pLogical, | ||
| G4VPhysicalVolume * | pMother, | ||
| G4bool | pMany, | ||
| G4int | pCopyNo, | ||
| G4bool | pSurfChk = false ) |
Utilises both variations above (from first and third constructors). The effect is the same as for the second constructor.
Definition at line 68 of file G4PVPlacement.cc.
| G4PVPlacement::G4PVPlacement | ( | __void__ & | a | ) |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 150 of file G4PVPlacement.cc.
|
override |
Default Destructor.
Definition at line 158 of file G4PVPlacement.cc.
|
delete |
Copy constructor and assignment operator not allowed.
|
overridevirtual |
Verifies if the placed volume is overlapping with existing daughters or with the mother volume. Provides default resolution for the number of points to be generated and verified. A tolerance for the precision of the overlap check can be specified, by default it is set to maximum precision. Reports a maximum of overlaps errors according to parameter in input.
| [in] | res | The number of points to generate on volume's surface. |
| [in] | tol | The precision tolerance for the overlap check, below which to ignore overlaps (default is maximim precision). |
| [in] | verbose | Verbosity mode (default is true). |
| [in] | maxErr | Maximum of overlaps errors to report (default is 1). |
Reimplemented from G4VPhysicalVolume.
Definition at line 245 of file G4PVPlacement.cc.
Referenced by G4PVPlacement(), G4PVPlacement(), G4PVPlacement(), and G4PVPlacement().
|
inlineoverridevirtual |
Returns/sets the copy number associated to the volume.
Implements G4VPhysicalVolume.
Definition at line 158 of file G4PVPlacement.hh.
Referenced by CheckOverlaps().
|
overridevirtual |
Returns a pointer to the replicas parameterisation object/algorithm (able to compute dimensions and transformations of replicas), or a null pointer if not applicable.
Implements G4VPhysicalVolume.
Definition at line 198 of file G4PVPlacement.cc.
|
overridevirtual |
Returns non-zero code in case the underlying volume structure is regular, voxel-like. The value is an identifier for the structure type. If non-zero the volume is a candidate for specialised navigation such as 'nearest neighbour' directly on volumes.
Implements G4VPhysicalVolume.
Definition at line 227 of file G4PVPlacement.cc.
|
overridevirtual |
Returns the replication information. No-op for non replicated volumes.
| [in,out] | axis | The axis of replication/parameterisation. |
| [in,out] | nReplicas | The number of replicated/parameterised objects. |
| [in,out] | width | The width of replicated object. |
| [in,out] | offset | The optional offset distance from mother's border. |
| [in,out] | consuming | Flag of replica characterisation (always true for pure replicas). |
Implements G4VPhysicalVolume.
Definition at line 206 of file G4PVPlacement.cc.
|
overridevirtual |
Stub methods, unused for placed volumes.
Implements G4VPhysicalVolume.
Definition at line 166 of file G4PVPlacement.cc.
|
overridevirtual |
Returns true if the volume is parameterised (single object instance represents many real parameterised volumes), else false.
Implements G4VPhysicalVolume.
Definition at line 190 of file G4PVPlacement.cc.
|
overridevirtual |
Used only for specialised repeated volumes. Always false with Id 0.
Implements G4VPhysicalVolume.
Definition at line 217 of file G4PVPlacement.cc.
|
overridevirtual |
Returns true if the volume is replicated (single object instance represents many real volumes), else false.
Implements G4VPhysicalVolume.
Definition at line 182 of file G4PVPlacement.cc.
|
delete |
|
overridevirtual |
Implements G4VPhysicalVolume.
Definition at line 174 of file G4PVPlacement.cc.
|
overridevirtual |
Returns the volume type characterisation.
Implements G4VPhysicalVolume.
Definition at line 237 of file G4PVPlacement.cc.