ATLAS Offline Software
AGDDVolume.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AGDDVolume_H
6 #define AGDDVolume_H
7 
8 #include <string>
9 #include <vector>
10 
12 class AGDDBuilder;
13 class AGDDVolumeStore;
14 class AGDDSectionStore;
15 
16 class AGDDVolume {
17 public:
18  AGDDVolume(const std::string& s,
19  AGDDVolumeStore& vs,
21  bool v=false);
22  virtual ~AGDDVolume() {}
23  const std::string& GetName() const {return m_name;}
24  void SetMaterial(const std::string& n) {m_material=n;}
25  virtual void CreateSolid (const AGDDBuilder& /*builder*/) {}
26  virtual void CreateVolume (AGDDBuilder& /*builder*/) {}
29  int NrOfDaughter() const {return m_theDaughters.size();}
30  bool HasParent() const {return (m_theParents.size());}
31  void AddParent(AGDDVolume *v) {m_theParents.push_back(v);}
32  void *GetVolume() {return m_theVolume;}
33  void *GetSolid() {return m_theSolid;}
34  void SetSolid(void *p) {m_theSolid=p;}
35  void SetVolume(void *p) {m_theVolume=p;}
36  void SetColor(const std::string& c) {m_color=c;}
37  void IsSensitiveVolume(bool v);
38  bool IsSensitiveVolume() const {return m_isSensitive;}
39  const std::string& GetColor() const {return m_color;}
40  const std::string& GetMaterial() const {return m_material;}
41 
42 protected:
43  std::string m_name;
44  std::string m_material;
45  std::vector<AGDDPositioner*> m_theDaughters;
46  std::vector<AGDDVolume*> m_theParents;
47 
48  std::string m_color;
49 
50  void* m_theSolid;
51  void* m_theVolume;
52 
54 
56 };
57 
58 #endif
AGDDVolume::m_theParents
std::vector< AGDDVolume * > m_theParents
Definition: AGDDVolume.h:46
AGDDPositioner.h
AGDDVolume::HasParent
bool HasParent() const
Definition: AGDDVolume.h:30
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
AGDDVolume::GetSolid
void * GetSolid()
Definition: AGDDVolume.h:33
AGDDVolumeStore
Definition: AGDDVolumeStore.h:15
AGDDVolume::NrOfDaughter
int NrOfDaughter() const
Definition: AGDDVolume.h:29
AGDDVolume::GetVolume
void * GetVolume()
Definition: AGDDVolume.h:32
AGDDVolume::CreateVolume
virtual void CreateVolume(AGDDBuilder &)
Definition: AGDDVolume.h:26
AGDDPositioner
Definition: AGDDPositioner.h:18
AGDDVolume::AGDDVolume
AGDDVolume(const std::string &s, AGDDVolumeStore &vs, AGDDSectionStore &ss, bool v=false)
Definition: AGDDVolume.cxx:10
AGDDVolume::AddParent
void AddParent(AGDDVolume *v)
Definition: AGDDVolume.h:31
AGDDSectionStore
Definition: AGDDSectionStore.h:15
AGDDVolume::m_color
std::string m_color
Definition: AGDDVolume.h:48
AGDDVolume::SetSolid
void SetSolid(void *p)
Definition: AGDDVolume.h:34
AGDDBuilder
Definition: AGDDBuilder.h:31
AGDDVolume::SetMaterial
void SetMaterial(const std::string &n)
Definition: AGDDVolume.h:24
lumiFormat.i
int i
Definition: lumiFormat.py:92
AGDDVolume::GetColor
const std::string & GetColor() const
Definition: AGDDVolume.h:39
AGDDVolume::m_isSensitive
bool m_isSensitive
Definition: AGDDVolume.h:53
beamspotman.n
n
Definition: beamspotman.py:731
AGDDVolume::m_name
std::string m_name
Definition: AGDDVolume.h:43
AGDDVolume::m_theSolid
void * m_theSolid
Definition: AGDDVolume.h:50
AGDDVolume::AddDaughter
void AddDaughter(AGDDPositioner *v)
Definition: AGDDVolume.cxx:21
AGDDVolume::CreateSolid
virtual void CreateSolid(const AGDDBuilder &)
Definition: AGDDVolume.h:25
AGDDVolume::GetDaughter
AGDDPositioner * GetDaughter(int i)
Definition: AGDDVolume.h:28
AGDDVolume::m_theDaughters
std::vector< AGDDPositioner * > m_theDaughters
Definition: AGDDVolume.h:45
AGDDVolume::m_vs
AGDDVolumeStore & m_vs
Definition: AGDDVolume.h:55
AGDDVolume::m_theVolume
void * m_theVolume
Definition: AGDDVolume.h:51
AGDDVolume::IsSensitiveVolume
bool IsSensitiveVolume() const
Definition: AGDDVolume.h:38
python.PyAthena.v
v
Definition: PyAthena.py:157
AGDDVolume::m_material
std::string m_material
Definition: AGDDVolume.h:44
AGDDVolume::~AGDDVolume
virtual ~AGDDVolume()
Definition: AGDDVolume.h:22
AGDDVolume::GetName
const std::string & GetName() const
Definition: AGDDVolume.h:23
AGDDVolume::SetColor
void SetColor(const std::string &c)
Definition: AGDDVolume.h:36
AGDDVolume
Definition: AGDDVolume.h:16
python.compressB64.c
def c
Definition: compressB64.py:93
AGDDVolume::SetVolume
void SetVolume(void *p)
Definition: AGDDVolume.h:35
AGDDVolume::GetMaterial
const std::string & GetMaterial() const
Definition: AGDDVolume.h:40