EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
eASTDetectorConstruction.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file eASTDetectorConstruction.hh
1 // ********************************************************************
2 //
3 // eASTDetectorConstruction.hh
4 // Header file of the detector construction.
5 //
6 // History
7 // May 8th, 2021 : first implementation
8 //
9 // ********************************************************************
10 
11 #ifndef eASTDetectorConstruction_H
12 #define eASTDetectorConstruction_H 1
13 
14 #include "G4VUserDetectorConstruction.hh"
15 #include "globals.hh"
16 #include "G4ThreeVector.hh"
17 #include <map>
18 
21 class eASTMagneticField;
22 class G4VPhysicalVolume;
23 
24 class eASTDetectorConstruction : public G4VUserDetectorConstruction
25 {
26  public:
28  virtual ~eASTDetectorConstruction();
29  virtual G4VPhysicalVolume* Construct() override;
30  virtual void ConstructSDandField() override;
31 
32  public:
34 
35  private:
37 
38  private:
40  G4VPhysicalVolume* fWorld = nullptr;
42 
43  public:
45 
46  private:
47  std::map<G4String,eASTVDetectorComponent*> components;
48 
49  public:
50  void ListSolids(G4int);
51  void ListLogVols(G4int);
52  void ListPhysVols(G4int);
53  void ListRegions(G4int);
54  G4bool CheckOverlap(G4String&,G4int,G4int,G4double);
55 
56  void ListAllMaterial();
57  G4bool ListMaterial(G4String&);
58  void DumpNistMaterials();
59  G4bool CreateMaterial(G4String&);
60  G4bool GetMaterial(G4String&);
61  G4int SetMaterial(G4String&,G4String&);
62 
64  fField = field;
65  }
66 };
67 
68 #endif