Berkeley Nuclear Data Software
GenArrayDetConstruction.h
Go to the documentation of this file.
1 //Constructed by Josh Brown.
2 //brown.ja@berkeley.edu
3 
4 #ifndef _GENARRAY_DET_SIM_
5 #define _GENARRAY_DET_SIM_
6 
7 #include "DetectorConstruction.h"
8 #include "globals.hh"
9 
10 #include "ConfigClasses.h"
11 
12 #include "TrackInfoSD.h"
13 
14 #include "MaterialManager.h"
17 #include "EuroSysClover.h"
18 #include "Support8020.h"
20 #include "OrtecPopTop.h"
21 #include "LaBr.h"
22 #include <map>
23 #include <string>
24 #include <vector>
25 class G4VPhysicalVolume;
26 class G4GlobalMagFieldMessenger;
27 
32 {
33  public:
35  virtual ~GenArrayDetConstruction();
36  void ConstructSDandField();
37  //setters for parameterized geometery
38  void setTargetMajorRadius(G4double a_targetMajorRadius);
39  void setTargetMinorRadius(G4double a_targetMinorRadius);
40  void setTargetLength(G4double a_targetLength);
41  void setTargetMaterial(G4String a_targetMaterial);
42  void setNumScatterCells(G4int a_numScatterCells);
43  void setScatterCellDistance(G4double a_scatterCellDistance);
44  void setScatteringAngle(G4double a_scatteringAngle);
45  void setScintArmLength(G4double a_armLength);
46  void add8020Posts(G4bool a_addPosts);
47  void addCloverTable(G4bool a_addTable);
48  void useHevimets(G4bool a_useHevimets);
49 
53  void addGenesis3();
55  std::vector<G4double> getCloverDistance(int a_cloverID);
56 
57  //getters for paramterized geometry
58  G4double getTargetMajorRadius();
59  G4double getTargetMinorRadius();
60  G4double getTargetLenth();
61  G4int getNumScatterCells();
62  G4double getScatterCellDistance();
63  G4double getScatteringAngle();
64  G4double getScintArmLength();
65  G4bool isPostsAdded();
66  G4bool isTableAdded();
67  G4bool isHevimetAdded();
68  public:
69  virtual G4VPhysicalVolume* Construct();
70  private:
74  NSDG4::EuroSysClover* m_clover;
75  NSDG4::Support8020* m_beam8020;
76  NSDG4::Support8020* m_beam8020Arm;
78  NSDG4::OrtecPopTop* m_popTop;
79  NSDG4::LaBr* m_LaBr;
80  //geo parameterizations
81  G4double m_targetMajorRadius;
82  G4double m_targetMinorRadius;
83  G4double m_targetLength;
84  G4int m_numScatterCells;
85  G4double m_scatterCellDistance;
86  G4double m_scatteringAngle;
87  G4double m_scintArmLength;
88  G4String m_targetMaterial;
89  G4bool m_addTable;
90  G4bool m_add8020Posts;
91  G4bool m_useGenesis1;
92  G4bool m_useHevimets;
93  G4bool m_useBGO;
94 };
95 
96 
97 #endif
98 
Definition: GenArrayDetConstruction.h:32
G4double getTargetLenth()
Definition: GenArrayDetConstruction.cpp:701
void setNumScatterCells(G4int a_numScatterCells)
Definition: GenArrayDetConstruction.cpp:664
G4bool isHevimetAdded()
Definition: GenArrayDetConstruction.cpp:729
virtual ~GenArrayDetConstruction()
Definition: GenArrayDetConstruction.cpp:94
std::vector< G4double > getCloverDistance(int a_cloverID)
returns (x,y,z) of a clover,
Definition: GenArrayDetConstruction.cpp:503
GenArrayDetConstruction()
Definition: GenArrayDetConstruction.cpp:41
G4bool isPostsAdded()
Definition: GenArrayDetConstruction.cpp:721
G4int getNumScatterCells()
Definition: GenArrayDetConstruction.cpp:705
void setTargetLength(G4double a_targetLength)
Definition: GenArrayDetConstruction.cpp:660
void setTargetMajorRadius(G4double a_targetMajorRadius)
Definition: GenArrayDetConstruction.cpp:652
void setTargetMaterial(G4String a_targetMaterial)
G4double getTargetMinorRadius()
Definition: GenArrayDetConstruction.cpp:697
G4double getTargetMajorRadius()
Definition: GenArrayDetConstruction.cpp:693
void ConstructSDandField()
Definition: GenArrayDetConstruction.cpp:497
void addCloverTable(G4bool a_addTable)
Definition: GenArrayDetConstruction.cpp:684
void setScatteringAngle(G4double a_scatteringAngle)
Definition: GenArrayDetConstruction.cpp:672
void setTargetMinorRadius(G4double a_targetMinorRadius)
Definition: GenArrayDetConstruction.cpp:656
void setScintArmLength(G4double a_armLength)
Definition: GenArrayDetConstruction.cpp:676
void add8020Posts(G4bool a_addPosts)
Definition: GenArrayDetConstruction.cpp:680
void setScatterCellDistance(G4double a_scatterCellDistance)
Definition: GenArrayDetConstruction.cpp:668
void addGenesis3()
Definition: GenArrayDetConstruction.cpp:515
G4double getScatterCellDistance()
Definition: GenArrayDetConstruction.cpp:709
G4bool isTableAdded()
Definition: GenArrayDetConstruction.cpp:725
G4double getScintArmLength()
Definition: GenArrayDetConstruction.cpp:717
G4double getScatteringAngle()
Definition: GenArrayDetConstruction.cpp:713
void useHevimets(G4bool a_useHevimets)
Definition: GenArrayDetConstruction.cpp:688
virtual G4VPhysicalVolume * Construct()
Definition: GenArrayDetConstruction.cpp:98
Definition: DetectorConstruction.h:23
Definition: EuroSysClover.h:14
this class builds out an 8020 part
Definition: GenesisSupportStructures.h:12
Definition: LaBr.h:14
Definition: OrtecPopTop.h:14
Definition: RightCylindricalScintillator_mod.h:16
this class builds out an 8020 part
Definition: Support8020.h:14