ATLAS Offline Software
AGDDBuilder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AGDDBuilder_H
6 #define AGDDBuilder_H
7 
8 class AGDDBox;
9 class AGDDTubs;
10 class AGDDElcyl;
11 class AGDDTrd;
12 class AGDDCons;
13 class AGDDPcon;
14 class AGDDPgon;
15 class AGDDGvxy;
16 class AGDDSnake;
17 class AGDDUnion;
18 class AGDDIntersection;
19 class AGDDSubtraction;
20 class AGDDComposition;
21 class AGDDVolume;
22 
23 class AGDDBolt;
24 class AGDDIbeam;
25 class AGDDUbeam;
26 
28 
29 #include <string>
30 
31 class AGDDBuilder {
32 public:
33  // constructor
35  virtual ~AGDDBuilder() {}
36  // elements & materials
37  virtual void CreateElements() =0;
38  virtual void CreateMaterial() =0;
39 
40  // solids, volumes and composition
41  virtual void CreateBox(AGDDBox*) const =0;
42  virtual void CreateTrd(AGDDTrd*) const =0;
43  virtual void CreateTubs(AGDDTubs*) const =0;
44  virtual void CreateElcyl(AGDDElcyl*) const =0;
45  virtual void CreateCons(AGDDCons*) const =0;
46  virtual void CreatePcon(AGDDPcon*) const =0;
47  virtual void CreatePgon(AGDDPgon*) const =0;
48  virtual void CreateGvxy(AGDDGvxy*) const =0;
49  virtual void CreateSnake(AGDDSnake*) const =0;
50  virtual void CreateUnion(AGDDUnion*) const =0;
51  virtual void CreateIntersection(AGDDIntersection*) const =0;
52  virtual void CreateSubtraction(AGDDSubtraction*) const =0;
53 
54  virtual void CreateBolt(AGDDBolt*) const =0;
55  virtual void CreateIbeam(AGDDIbeam*) const =0;
56  virtual void CreateUbeam(AGDDUbeam*) const =0;
57 
58  virtual void CreateVolume(AGDDVolume*) =0;
60 
61  virtual void BuildFromSection(const std::string&) =0;
62  virtual void BuildFromVolume(const std::string&) =0;
63 
65 };
66 
67 #endif
AGDDBuilder::BuildFromSection
virtual void BuildFromSection(const std::string &)=0
AGDDBuilder::CreateIntersection
virtual void CreateIntersection(AGDDIntersection *) const =0
AGDDBuilder::CreateBolt
virtual void CreateBolt(AGDDBolt *) const =0
AGDDBuilder::CreateMaterial
virtual void CreateMaterial()=0
AGDDComposition
Definition: AGDDComposition.h:13
AGDDTubs
Definition: AGDDTubs.h:13
AGDDBuilder::CreateCons
virtual void CreateCons(AGDDCons *) const =0
AGDDBuilder::CreateElcyl
virtual void CreateElcyl(AGDDElcyl *) const =0
AGDDBuilder::CreateGvxy
virtual void CreateGvxy(AGDDGvxy *) const =0
AGDDBolt
Definition: AGDDBolt.h:13
AGDDBuilder::CreateTubs
virtual void CreateTubs(AGDDTubs *) const =0
AGDDBuilder::CreateUbeam
virtual void CreateUbeam(AGDDUbeam *) const =0
AGDDBuilder::CreateBox
virtual void CreateBox(AGDDBox *) const =0
AGDDBuilder::CreateTrd
virtual void CreateTrd(AGDDTrd *) const =0
AGDDBuilder::BuildFromVolume
virtual void BuildFromVolume(const std::string &)=0
AGDDBuilder::CreateIbeam
virtual void CreateIbeam(AGDDIbeam *) const =0
AGDDBuilder::CreateUnion
virtual void CreateUnion(AGDDUnion *) const =0
AGDDBuilder
Definition: AGDDBuilder.h:31
AGDDBuilder::~AGDDBuilder
virtual ~AGDDBuilder()
Definition: AGDDBuilder.h:35
AGDDCons
Definition: AGDDCons.h:13
AGDDBuilder::CreateSnake
virtual void CreateSnake(AGDDSnake *) const =0
AGDDGvxy
Definition: AGDDGvxy.h:14
AGDDIntersection
Definition: AGDDIntersection.h:13
AGDDBuilder::CreateSubtraction
virtual void CreateSubtraction(AGDDSubtraction *) const =0
AGDDUnion
Definition: AGDDUnion.h:13
AGDDSubtraction
Definition: AGDDSubtraction.h:13
AGDDBuilder::CreateComposition
virtual void CreateComposition(AGDDComposition *)=0
AGDDBuilder::CreateVolume
virtual void CreateVolume(AGDDVolume *)=0
AGDDBuilder::GetMaterialManager
virtual StoredMaterialManager & GetMaterialManager() const =0
AGDDBuilder::CreatePcon
virtual void CreatePcon(AGDDPcon *) const =0
StoredMaterialManager
This class holds one or more material managers and makes them storeable, under StoreGate.
Definition: StoredMaterialManager.h:28
AGDDIbeam
Definition: AGDDIbeam.h:13
AGDDBuilder::AGDDBuilder
AGDDBuilder()
Definition: AGDDBuilder.h:34
AGDDVolume
Definition: AGDDVolume.h:16
AGDDTrd
Definition: AGDDTrd.h:13
AGDDPcon
Definition: AGDDPcon.h:13
AGDDSnake
Definition: AGDDSnake.h:14
AGDDPgon
Definition: AGDDPgon.h:13
AGDDBox
Definition: AGDDBox.h:13
AGDDBuilder::CreateElements
virtual void CreateElements()=0
AGDDUbeam
Definition: AGDDUbeam.h:13
AGDDBuilder::CreatePgon
virtual void CreatePgon(AGDDPgon *) const =0
AGDDElcyl
Definition: AGDDElcyl.h:13