ATLAS Offline Software
DerivedG4PhysicalVolume.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4MyPhysicalVolume_h
6 #define G4MyPhysicalVolume_h
7 
8 #include "G4VPhysicalVolume.hh"
9 #include "G4RotationMatrix.hh"
10 #include "G4ThreeVector.hh"
11 #include "G4LogicalVolume.hh"
12 #include "G4String.hh"
13 #include "G4VPVParameterisation.hh"
14 
15 class G4MyPhysicalVolume : public G4VPhysicalVolume {
16 
17 public:
18 
19  G4MyPhysicalVolume( G4RotationMatrix *pRot, const G4ThreeVector &tlate, const G4String& pName, G4LogicalVolume* pLogical, G4VPhysicalVolume* pPhysical ) : G4VPhysicalVolume(pRot, tlate, pName, pLogical, pPhysical)
20  {
21 
22  }
23 
25 
26  G4int GetCopyNo() const final
27  {
28  return copyNo;
29  }
30 
31  void SetCopyNo(G4int CopyNo) final
32  {
33  copyNo = CopyNo;
34  }
35  void SetVolumeType(EVolume volumetype){ fTypeOfVolume = volumetype ;}
36 
37  G4bool IsMany() const final { return true; }
38 
39  G4bool IsReplicated() const final { return true; }
40 
41  G4bool IsParameterised() const final { return true; }
42 
43  G4VPVParameterisation* GetParameterisation() const final { return nullptr; }
44 
45  void GetReplicationData(EAxis& axis, G4int& nReplicas, G4double& width, G4double& offset, G4bool& consuming) const final
46  {
47  axis = (EAxis)1;
48  nReplicas = 0;
49  width = 0.0;
50  offset = 0.0;
51  consuming = true;
52  }
53 
54  G4bool IsRegularStructure() const final { return true; }
55 
56  G4int GetRegularStructureId() const final { return 0; }
57 
58  EVolume VolumeType()const{ return fTypeOfVolume; }
59 
60  G4int copyNo{};
61 
62 private:
63 
64  EVolume fTypeOfVolume;
65 
66 };
67 #endif
G4MyPhysicalVolume::fTypeOfVolume
EVolume fTypeOfVolume
Definition: DerivedG4PhysicalVolume.h:64
G4MyPhysicalVolume::copyNo
G4int copyNo
Definition: DerivedG4PhysicalVolume.h:60
yodamerge_tmp.axis
list axis
Definition: yodamerge_tmp.py:241
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
G4MyPhysicalVolume::GetRegularStructureId
G4int GetRegularStructureId() const final
Definition: DerivedG4PhysicalVolume.h:56
G4MyPhysicalVolume::GetParameterisation
G4VPVParameterisation * GetParameterisation() const final
Definition: DerivedG4PhysicalVolume.h:43
G4MyPhysicalVolume::VolumeType
EVolume VolumeType() const
Definition: DerivedG4PhysicalVolume.h:58
G4MyPhysicalVolume::~G4MyPhysicalVolume
~G4MyPhysicalVolume()
Definition: DerivedG4PhysicalVolume.h:24
G4MyPhysicalVolume::IsParameterised
G4bool IsParameterised() const final
Definition: DerivedG4PhysicalVolume.h:41
G4MyPhysicalVolume::G4MyPhysicalVolume
G4MyPhysicalVolume(G4RotationMatrix *pRot, const G4ThreeVector &tlate, const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pPhysical)
Definition: DerivedG4PhysicalVolume.h:19
G4MyPhysicalVolume::SetCopyNo
void SetCopyNo(G4int CopyNo) final
Definition: DerivedG4PhysicalVolume.h:31
G4MyPhysicalVolume
Definition: DerivedG4PhysicalVolume.h:15
G4MyPhysicalVolume::GetReplicationData
void GetReplicationData(EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const final
Definition: DerivedG4PhysicalVolume.h:45
G4MyPhysicalVolume::IsMany
G4bool IsMany() const final
Definition: DerivedG4PhysicalVolume.h:37
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
G4MyPhysicalVolume::GetCopyNo
G4int GetCopyNo() const final
Definition: DerivedG4PhysicalVolume.h:26
G4MyPhysicalVolume::IsRegularStructure
G4bool IsRegularStructure() const final
Definition: DerivedG4PhysicalVolume.h:54
G4MyPhysicalVolume::SetVolumeType
void SetVolumeType(EVolume volumetype)
Definition: DerivedG4PhysicalVolume.h:35
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
G4MyPhysicalVolume::IsReplicated
G4bool IsReplicated() const final
Definition: DerivedG4PhysicalVolume.h:39