SND@LHC Software
Loading...
Searching...
No Matches
MufluxTargetStation.h
Go to the documentation of this file.
1#ifndef MufluxTargetStation_H
2#define MufluxTargetStation_H
3
4#include "FairModule.h" // for FairModule
5#include "Rtypes.h" // for MufluxTargetStation::Class, Bool_t, etc
6#include <string> // for string
7#include <stdlib.h>
8
9class MufluxTargetStation : public FairModule
10{
11 public:
12 MufluxTargetStation(const char* name,const Double_t tl,const Double_t al,const Double_t tz,const Double_t az,
13 const int nS, const Double_t sl, const char* Title="MufluxTargetStation");
14 MufluxTargetStation(const char* name,const Double_t tl,const Double_t tz,
15 const int nS, const Double_t sl, const char* Title="MufluxTargetStation");
17 virtual ~MufluxTargetStation();
18
19 void SetIronAbsorber(Double_t absorber_x, Double_t absorber_y);
20 void SetAbsorberCutout(Double_t absorbercutout_x ,Double_t absorbercutout_y);
21 void SetIronShield(Double_t ironshield_x, Double_t ironshield_y, Double_t ironshield_z);
22 void SetConcreteShield(Double_t concreteshield_x, Double_t concreteshield_y, Double_t concreteshield_z);
23 void SetAboveTargetShield(Double_t abovetargetshield_x, Double_t abovetargetshield_y, Double_t abovetargetshield_z);
24 void SetAboveAbsorberShield(Double_t aboveabsorbershield_x, Double_t aboveabsorbershield_y, Double_t aboveabsorbershield_z);
25 void SetAboveAboveTargetShield(Double_t aboveabovetargetshield_y);
26 void SetFloor(Double_t floor_x, Double_t floor_y, Double_t floor_z);
27 void SetFloorT34(Double_t floorT34_x, Double_t floorT34_y, Double_t floorT34_z);
28 void SetFloorRPC(Double_t floorRPC_x, Double_t floorRPC_y, Double_t floorRPC_z);
29
30 void ConstructGeometry();
31 void SetLayerPosMat(Float_t d, std::vector<float> L, std::vector<std::string> M){
32 fDiameter = d;
33 fL = L;
34 fM = M;
35 }
36 ClassDef(MufluxTargetStation,4)
37
38 private:
39 Double_t fabsorber_x;
40 Double_t fabsorber_y;
43 Double_t fironshield_x;
44 Double_t fironshield_y;
45 Double_t fironshield_z;
56 Double_t ffloor_x;
57 Double_t ffloor_y;
58 Double_t ffloor_z;
59 Double_t ffloorT34_x;
60 Double_t ffloorT34_y;
61 Double_t ffloorT34_z;
62 Double_t ffloorRPC_x;
63 Double_t ffloorRPC_y;
64 Double_t ffloorRPC_z;
65
66 protected:
67
68 Double_t fTargetLength; //
69 Double_t fAbsorberLength; //
70 Double_t fAbsorberZ; //
71 Double_t fTargetZ; //
72 Double_t fDiameter; //
73 std::vector<float> fL; //
74 std::vector<std::string> fM; //
75 Int_t InitMedium(const char* name);
76 Int_t fnS;
77 Double_t fsl;
78};
79#endif //MufluxTargetStation_H
std::vector< std::string > fM
void SetAbsorberCutout(Double_t absorbercutout_x, Double_t absorbercutout_y)
void SetFloorRPC(Double_t floorRPC_x, Double_t floorRPC_y, Double_t floorRPC_z)
void SetAboveTargetShield(Double_t abovetargetshield_x, Double_t abovetargetshield_y, Double_t abovetargetshield_z)
void SetFloorT34(Double_t floorT34_x, Double_t floorT34_y, Double_t floorT34_z)
void SetIronShield(Double_t ironshield_x, Double_t ironshield_y, Double_t ironshield_z)
void SetAboveAboveTargetShield(Double_t aboveabovetargetshield_y)
ClassDef(MufluxTargetStation, 4) private Double_t fabsorber_y
void SetConcreteShield(Double_t concreteshield_x, Double_t concreteshield_y, Double_t concreteshield_z)
void SetIronAbsorber(Double_t absorber_x, Double_t absorber_y)
void SetFloor(Double_t floor_x, Double_t floor_y, Double_t floor_z)
void SetAboveAbsorberShield(Double_t aboveabsorbershield_x, Double_t aboveabsorbershield_y, Double_t aboveabsorbershield_z)
Int_t InitMedium(const char *name)
void SetLayerPosMat(Float_t d, std::vector< float > L, std::vector< std::string > M)
std::vector< float > fL