Berkeley Nuclear Data Software
Support8020.h
Go to the documentation of this file.
1 //Joey Gordon
2 //jmgordon@berkeley.edu
3 //
4 
5 #ifndef _SUPPORT_8020_H_
6 #define _SUPPORT_8020_H_
7 
8 #include "GeometryObject.h"
9 #include "G4Material.hh"
10 namespace NSDG4
11 {
14 {
15 public:
17 Support8020();
18 
19  virtual G4LogicalVolume* construct(G4LogicalVolume* a_mother,
20  MaterialManager* a_materials
21  );
22  //setters for parameterization
23 
24  void setProfile(std::string a_profile);
25  void setBeamLength(G4double a_length);
26 
27  G4double getBeamLength();
28  std::string getProfile();
29 
30 private:
31  std::string m_profile;
32  G4double m_length;
33  G4double m_width;
34  G4double m_height;
35  G4double m_density;
36 
37  std::map<std::string, std::vector<G4double>> m_profileData;
38 
39 };
40 
41 
42 }
43 
44 #endif
abstract base class of geometry objects allowing modifications
Definition: GeometryObject.h:25
Definition: MaterialManager.h:15
this class builds out an 8020 part
Definition: Support8020.h:14
void setProfile(std::string a_profile)
Definition: Support8020.cpp:74
std::string getProfile()
Definition: Support8020.cpp:84
Support8020()
default constructor sets the class up with default configuration
Definition: Support8020.cpp:8
virtual G4LogicalVolume * construct(G4LogicalVolume *a_mother, MaterialManager *a_materials)
must be implemented by the child class
Definition: Support8020.cpp:36
void setBeamLength(G4double a_length)
Definition: Support8020.cpp:69
G4double getBeamLength()
Definition: Support8020.cpp:80
Definition: AbsLYAna.h:7