|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
Go to the source code of this file.
Functions | |
| G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMotherLogical, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double half_gap, const G4double offset) | |
| G4ReplicatedSlice represents many touchable detector elements differing only in their positioning. The elements' positions are calculated by means of a simple linear formula. | |
| G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMotherLogical, const EAxis pAxis, const G4int nReplicas, const G4double half_gap, const G4double offset) | |
| G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMotherLogical, const EAxis pAxis, const G4double width, const G4double half_gap, const G4double offset) | |
| G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMotherPhysical, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double half_gap, const G4double offset) | |
| G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMotherPhysical, const EAxis pAxis, const G4int nReplicas, const G4double half_gap, const G4double offset) | |
| G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMotherPhysical, const EAxis pAxis, const G4double width, const G4double half_gap, const G4double offset) | |
| ~G4ReplicatedSlice () override | |
| G4ReplicatedSlice (const G4ReplicatedSlice &)=delete | |
| G4ReplicatedSlice & | operator= (const G4ReplicatedSlice &)=delete |
| G4bool | IsMany () const override |
| G4bool | IsReplicated () const override |
| G4int | GetMultiplicity () const override |
| G4bool | IsParameterised () const override |
| G4VPVParameterisation * | GetParameterisation () const override |
| void | GetReplicationData (EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const override |
| EAxis | GetDivisionAxis () const |
| EVolume | VolumeType () const final |
| G4bool | IsRegularStructure () const override |
| G4int | GetRegularStructureId () const override |
Variables | |
| EAxis | faxis |
| EAxis | fdivAxis |
| G4int | fnReplicas = 0 |
| G4double | fwidth = 0.0 |
| G4double | foffset = 0.0 |
| G4VDivisionParameterisation * | fparam = nullptr |
|
delete |
Copy constructor and assignment operator not allowed.
| G4ReplicatedSlice::G4ReplicatedSlice | ( | const G4String & | pName, |
| G4LogicalVolume * | pLogical, | ||
| G4LogicalVolume * | pMotherLogical, | ||
| const EAxis | pAxis, | ||
| const G4double | width, | ||
| const G4double | half_gap, | ||
| const G4double | offset ) |
Constructor with width of the division slice.
| [in] | pName | The volume name. |
| [in] | pLogical | Pointer to the logical volume of the division. |
| [in] | pMotherLogical | Pointer to the logical volume of the mother. |
| [in] | pAxis | The axis along which do the division. |
| [in] | width | The witdh of the divided slice along the axis. |
| [in] | half_gap | The half-witdh of the gap between slices. |
| [in] | offset | The optional offset distance from mother's border. |
Definition at line 73 of file G4ReplicatedSlice.cc.
| G4ReplicatedSlice::G4ReplicatedSlice | ( | const G4String & | pName, |
| G4LogicalVolume * | pLogical, | ||
| G4LogicalVolume * | pMotherLogical, | ||
| const EAxis | pAxis, | ||
| const G4int | nReplicas, | ||
| const G4double | half_gap, | ||
| const G4double | offset ) |
Constructor with number of divisions.
| [in] | pName | The volume name. |
| [in] | pLogical | Pointer to the logical volume of the division. |
| [in] | pMotherLogical | Pointer to the logical volume of the mother. |
| [in] | pAxis | The axis along which do the division. |
| [in] | nReplicas | The number of copies to replicate. |
| [in] | half_gap | The half-witdh of the gap between slices. |
| [in] | offset | The optional offset distance from mother's border. |
Definition at line 59 of file G4ReplicatedSlice.cc.
| G4ReplicatedSlice::G4ReplicatedSlice | ( | const G4String & | pName, |
| G4LogicalVolume * | pLogical, | ||
| G4LogicalVolume * | pMotherLogical, | ||
| const EAxis | pAxis, | ||
| const G4int | nReplicas, | ||
| const G4double | width, | ||
| const G4double | half_gap, | ||
| const G4double | offset ) |
G4ReplicatedSlice represents many touchable detector elements differing only in their positioning. The elements' positions are calculated by means of a simple linear formula.
Division may occur along:
o Cartesian axes (kXAxis,kYAxis,kZAxis)
The divisions, of specified width have coordinates of form (-width*(nReplicas-1)*0.5+n*width,0,0) where n=0.. nReplicas-1 for the case of kXAxis, and are unrotated.
o Radial axis (cylindrical polar) (kRho)
The divisions are cons/tubs sections, centred on the origin and are unrotated. They have radii of width*n+offset to width*(n+1)+offset where n=0..nReplicas-1
o Phi axis (cylindrical polar) (kPhi) The divisions are `phi sections' or wedges, and of cons/tubs form They have phi of offset+n*width to offset+(n+1)*width where n=0..nReplicas-1 */
class G4ReplicatedSlice : public G4PVReplica { public:
/** Constructor with number of divisions and width.
| [in] | pName | The volume name. |
| [in] | pLogical | Pointer to the logical volume of the division. |
| [in] | pMotherLogical | Pointer to the logical volume of the mother. |
| [in] | pAxis | The axis along which do the division. |
| [in] | nReplicas | The number of copies to replicate. |
| [in] | width | The witdh of the divided slice along the axis. |
| [in] | half_gap | The half-witdh of the gap between slices. |
| [in] | offset | The optional offset distance from mother's border. |
Definition at line 44 of file G4ReplicatedSlice.cc.
Referenced by G4ReplicatedSlice(), and operator=().
| G4ReplicatedSlice::G4ReplicatedSlice | ( | const G4String & | pName, |
| G4LogicalVolume * | pLogical, | ||
| G4VPhysicalVolume * | pMotherPhysical, | ||
| const EAxis | pAxis, | ||
| const G4double | width, | ||
| const G4double | half_gap, | ||
| const G4double | offset ) |
Constructor in mother physical volume with width of division slice.
| [in] | pName | The volume name. |
| [in] | pLogical | Pointer to the logical volume of the division. |
| [in] | pMotherPhysical | Pointer to the physical volume of the mother. |
| [in] | pAxis | The axis along which do the division. |
| [in] | width | The witdh of the divided slice along the axis. |
| [in] | half_gap | The half-witdh of the gap between slices. |
| [in] | offset | The optional offset distance from mother's border. |
Definition at line 136 of file G4ReplicatedSlice.cc.
| G4ReplicatedSlice::G4ReplicatedSlice | ( | const G4String & | pName, |
| G4LogicalVolume * | pLogical, | ||
| G4VPhysicalVolume * | pMotherPhysical, | ||
| const EAxis | pAxis, | ||
| const G4int | nReplicas, | ||
| const G4double | half_gap, | ||
| const G4double | offset ) |
Constructor in mother physical volume with number of divisions.
| [in] | pName | The volume name. |
| [in] | pLogical | Pointer to the logical volume of the division. |
| [in] | pMotherPhysical | Pointer to the physical volume of the mother. |
| [in] | pAxis | The axis along which do the division. |
| [in] | nReplicas | The number of copies to replicate. |
| [in] | half_gap | The half-witdh of the gap between slices. |
| [in] | offset | The optional offset distance from mother's border. |
Definition at line 112 of file G4ReplicatedSlice.cc.
| G4ReplicatedSlice::G4ReplicatedSlice | ( | const G4String & | pName, |
| G4LogicalVolume * | pLogical, | ||
| G4VPhysicalVolume * | pMotherPhysical, | ||
| const EAxis | pAxis, | ||
| const G4int | nReplicas, | ||
| const G4double | width, | ||
| const G4double | half_gap, | ||
| const G4double | offset ) |
Constructor in mother physical volume with number of divisions and width.
| [in] | pName | The volume name. |
| [in] | pLogical | Pointer to the logical volume of the division. |
| [in] | pMotherPhysical | Pointer to the physical volume of the mother. |
| [in] | pAxis | The axis along which do the division. |
| [in] | nReplicas | The number of copies to replicate. |
| [in] | width | The witdh of the divided slice along the axis. |
| [in] | half_gap | The half-witdh of the gap between slices. |
| [in] | offset | The optional offset distance from mother's border. |
Definition at line 87 of file G4ReplicatedSlice.cc.
| EAxis GetDivisionAxis | ( | ) | const |
Returns the axis along which the division is made.
|
override |
Returns the number of slices.
|
override |
Returns the pointer to the parameterisation algorithm.
|
override |
|
override |
Fills arguments with the attributes from the base replica.
|
override |
Not used.
|
override |
Returns true to identify if it is a parameterised physical volume.
|
override |
Methods to identify volumes that can have revised 'regular' navigation. Currently divisions do not qualify for this.
|
override |
Returns true.
|
delete |
|
final |
Returns the volume type characterisation.
|
override |
Destructor.
Definition at line 279 of file G4ReplicatedSlice.cc.
|
protected |
Axis of optimisation.
Definition at line 293 of file G4ReplicatedSlice.hh.
|
protected |
Axis of division.
Definition at line 296 of file G4ReplicatedSlice.hh.
|
protected |
Number of slices.
Definition at line 299 of file G4ReplicatedSlice.hh.
|
protected |
Definition at line 302 of file G4ReplicatedSlice.hh.
|
protected |
Pointer to the parameterisation algorithm.
Definition at line 305 of file G4ReplicatedSlice.hh.
|
protected |
Width of the division slice and potential offset.
Definition at line 302 of file G4ReplicatedSlice.hh.