Berkeley Nuclear Data Software
DetectorConstruction.h
Go to the documentation of this file.
1 //Constructed by Josh Brown.
2 //brown.ja@berkeley.edu
3 #ifndef _DETECTOR_CONSTRUCTION_H_
4 #define _DETECTOR_CONSTRUCTION_H_
5 
6 #include "GeometryObject.h"
7 #include "MaterialManager.h"
8 #include "TrackInfoSD.h"
9 
10 #include "G4VUserDetectorConstruction.hh"
11 #include "G4ThreeVector.hh"
12 #include "G4LogicalVolume.hh"
13 
14 
15 namespace NSDG4
16 {
17 class DetectorMessenger;
22 class DetectorConstruction : public G4VUserDetectorConstruction
23 {
24 public:
26  virtual ~DetectorConstruction();
27  virtual G4VPhysicalVolume* Construct();
28  virtual void ConstructSDandField();
29  virtual void setTheCenter(std::string a_object,
30  G4ThreeVector a_center
31  );
32  virtual void setTheMaterial(std::string a_object,
33  std::string a_material
34  );
35  virtual void setTheWorldHalfSize(double a_x,
36  double a_y,
37  double a_z
38  );
39  virtual void updateGeometry();
40 protected:
41  std::map<std::string, GeometryObject*> m_geoObjects;
42  std::map<std::string, G4LogicalVolume*> m_lvMap;
43  std::map<std::string,std::string> m_lvSDMap;
44  G4ThreeVector m_worldHalfSize;
47  G4LogicalVolume* m_worldLV;
48  std::map<std::string, int> m_copyDepth;
49 };
50 }
51 
52 
53 #endif
Definition: DetectorConstruction.h:23
std::map< std::string, std::string > m_lvSDMap
Definition: DetectorConstruction.h:43
std::map< std::string, int > m_copyDepth
Definition: DetectorConstruction.h:48
virtual void setTheCenter(std::string a_object, G4ThreeVector a_center)
Definition: DetectorConstruction.cpp:66
std::map< std::string, GeometryObject * > m_geoObjects
Definition: DetectorConstruction.h:41
G4LogicalVolume * m_worldLV
Definition: DetectorConstruction.h:47
virtual void setTheWorldHalfSize(double a_x, double a_y, double a_z)
Definition: DetectorConstruction.cpp:142
DetectorMessenger * m_messenger
Definition: DetectorConstruction.h:46
G4ThreeVector m_worldHalfSize
Definition: DetectorConstruction.h:44
virtual ~DetectorConstruction()
Definition: DetectorConstruction.cpp:151
DetectorConstruction()
Definition: DetectorConstruction.cpp:10
virtual G4VPhysicalVolume * Construct()
Definition: DetectorConstruction.cpp:17
std::map< std::string, G4LogicalVolume * > m_lvMap
Definition: DetectorConstruction.h:42
MaterialManager * m_materials
Definition: DetectorConstruction.h:45
virtual void ConstructSDandField()
Definition: DetectorConstruction.cpp:104
virtual void setTheMaterial(std::string a_object, std::string a_material)
Definition: DetectorConstruction.cpp:82
virtual void updateGeometry()
Definition: DetectorConstruction.cpp:99
user interface class for moving bits around
Definition: DetectorMessenger.h:20
Definition: MaterialManager.h:15
Definition: AbsLYAna.h:7