HerdSoftware  0.1.1
FitBuilder.h
Go to the documentation of this file.
1 /*
2  * FitBuilder.h
3  *
4  * Created on: 27 Nov 2019
5  * Author: Andrii Tykhonov, reworked by Valerio Formato
6  */
7 
10 #ifndef FITBUILDER_H_
11 #define FITBUILDER_H_
12 
13 #include "G4Material.hh"
15 
16 class G4LogicalVolume;
17 
24 class FitBuilder {
25 public:
26  enum class fitType { TOP, SIDE };
27 
29  FitBuilder(FITOptions options, fitType type);
30 
35  G4LogicalVolume *Build();
36  G4LogicalVolume *GetFitMasterVolume();
37 
43  std::vector<float> NormalPositions() { return normPos; }
44 
45 protected:
48 
51  double nLayers;
52  double nWLayers;
53  std::vector<bool> _listOfWLayers;
54 
55 private:
59  G4Material *galacticMat;
60  G4Material *trayCoreMat;
61  G4Material *trayCfprMat;
62  G4Material *matMat;
63  G4Material *matMatCore;
64  G4Material *tungstenMat;
65 
66  std::string prefix;
67  std::vector<float> normPos; // position of each layer along the normal
68 };
69 
70 #endif /* FITBUILDER_H_ */
std::vector< float > NormalPositions()
Get the normal positions of all layers.
Definition: FitBuilder.h:43
G4Material * galacticMat
Definition: FitBuilder.h:59
G4LogicalVolume * GetFitMasterVolume()
Definition: FitBuilder.cpp:164
double trayDimensionShort
Definition: FitBuilder.h:50
std::string prefix
Definition: FitBuilder.h:66
double nLayers
Definition: FitBuilder.h:51
G4LogicalVolume * Build()
Builds the side FIT.
Definition: FitBuilder.cpp:52
G4Material * matMat
Definition: FitBuilder.h:62
G4Material * tungstenMat
Definition: FitBuilder.h:64
G4Material * matMatCore
Definition: FitBuilder.h:63
FitBuilder(FITOptions options, fitType type)
Constructor.
Definition: FitBuilder.cpp:24
Builder class for side FIT.
Definition: FitBuilder.h:24
fitType _type
Definition: FitBuilder.h:46
std::vector< float > normPos
Definition: FitBuilder.h:67
std::vector< bool > _listOfWLayers
Definition: FitBuilder.h:53
fitType
Definition: FitBuilder.h:26
double trayDimensionLong
Definition: FitBuilder.h:49
G4Material * trayCoreMat
Definition: FitBuilder.h:60
Definition: DetStructs.h:354
G4Material * trayCfprMat
Definition: FitBuilder.h:61
FITOptions _options
Definition: FitBuilder.h:47
double nWLayers
Definition: FitBuilder.h:52