ATLAS Offline Software
Loading...
Searching...
No Matches
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
12class AGDDBuilder;
13class AGDDVolumeStore;
15
17public:
18 AGDDVolume(const std::string& s,
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
42protected:
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
52
54
56};
57
58#endif
static Double_t ss
AGDDPositioner * GetDaughter(int i)
Definition AGDDVolume.h:28
bool m_isSensitive
Definition AGDDVolume.h:53
void SetSolid(void *p)
Definition AGDDVolume.h:34
int NrOfDaughter() const
Definition AGDDVolume.h:29
void * m_theVolume
Definition AGDDVolume.h:51
std::vector< AGDDPositioner * > m_theDaughters
Definition AGDDVolume.h:45
void SetMaterial(const std::string &n)
Definition AGDDVolume.h:24
bool IsSensitiveVolume() const
Definition AGDDVolume.h:38
virtual void CreateSolid(const AGDDBuilder &)
Definition AGDDVolume.h:25
std::vector< AGDDVolume * > m_theParents
Definition AGDDVolume.h:46
std::string m_color
Definition AGDDVolume.h:48
void SetColor(const std::string &c)
Definition AGDDVolume.h:36
std::string m_name
Definition AGDDVolume.h:43
std::string m_material
Definition AGDDVolume.h:44
AGDDVolume(const std::string &s, AGDDVolumeStore &vs, AGDDSectionStore &ss, bool v=false)
void AddParent(AGDDVolume *v)
Definition AGDDVolume.h:31
bool HasParent() const
Definition AGDDVolume.h:30
virtual ~AGDDVolume()
Definition AGDDVolume.h:22
const std::string & GetMaterial() const
Definition AGDDVolume.h:40
void * GetSolid()
Definition AGDDVolume.h:33
void AddDaughter(AGDDPositioner *v)
const std::string & GetName() const
Definition AGDDVolume.h:23
void * m_theSolid
Definition AGDDVolume.h:50
void * GetVolume()
Definition AGDDVolume.h:32
void SetVolume(void *p)
Definition AGDDVolume.h:35
AGDDVolumeStore & m_vs
Definition AGDDVolume.h:55
const std::string & GetColor() const
Definition AGDDVolume.h:39
virtual void CreateVolume(AGDDBuilder &)
Definition AGDDVolume.h:26