22 ShipMuonShield(
const char* name,
const Int_t Design=1,
const char* Title=
"ShipMuonShield",
23 Double_t Z=0, Double_t L0=0, Double_t L1=0, Double_t L2=0, Double_t L3=0, Double_t L4=0, Double_t L5=0, Double_t L6=0,
24 Double_t L7=0, Double_t L8=0,Double_t gap=0,Double_t LE=0,Double_t y=400, Double_t floor=500, Double_t field=1.7,
25 const Int_t withCoMagnet=0,
const Bool_t StepGeo=
false,
26 const Bool_t WithConstAbsorberField=
true,
const Bool_t WithConstShieldField=
true);
28 ShipMuonShield(TString geofile,
const Int_t withCoMagnet=0,
const Bool_t StepGeo=
false,
29 const Bool_t WithConstAbsorberField=
true,
const Bool_t WithConstShieldField=
true);
35 void SetSupports(Bool_t supports) {
37 LOG(WARNING) <<
"Setting supports to %s. This will not have any effect if called after the geometry has been constructed.",
fSupport ?
"true" :
"false";
47 Double_t
dZ0,
dZ1,
dZ2,
dZ3,
dZ4,
dZ5,
dZ6,
dZ7,
dZ8,
dXgap,
zEndOfAbsorb,
mag4Gap,
midGapOut7,
midGapOut8;
55 void CreateArb8(TString arbName, TGeoMedium *medium, Double_t dZ,
56 std::array<Double_t, 16> corners, Int_t color,
57 TGeoUniformMagField *magField, TGeoVolume *top,
58 Double_t x_translation, Double_t y_translation,
59 Double_t z_translation);
61 void CreateArb8(TString arbName, TGeoMedium *medium, Double_t dZ,
62 std::array<Double_t, 16> corners, Int_t color,
63 TGeoUniformMagField *magField, TGeoVolume *top,
64 Double_t x_translation, Double_t y_translation,
65 Double_t z_translation,
68 void CreateTube(TString tubeName, TGeoMedium *medium, Double_t dX,
69 Double_t dY, Double_t dZ, Int_t color, TGeoVolume *top,
70 Double_t x_translation, Double_t y_translation,
71 Double_t z_translation);
73 Int_t
Initialize(std::vector<TString> &magnetName,
74 std::vector<FieldDirection> &fieldDirection,
75 std::vector<Double_t> &dXIn, std::vector<Double_t> &dYIn,
76 std::vector<Double_t> &dXOut, std::vector<Double_t> &dYOut,
77 std::vector<Double_t> &dZ, std::vector<Double_t> &midGapIn,
78 std::vector<Double_t> &midGapOut,
79 std::vector<Double_t> &HmainSideMagIn,
80 std::vector<Double_t> &HmainSideMagOut,
81 std::vector<Double_t> &gapIn, std::vector<Double_t> &gapOut,
82 std::vector<Double_t> &Z);
84 void CreateMagnet(TString magnetName, TGeoMedium *medium, TGeoVolume *tShield,
85 TGeoUniformMagField *fields[4],
87 Double_t dX2, Double_t dY2, Double_t dZ, Double_t middleGap,
88 Double_t middleGap2, Double_t HmainSideMag,
89 Double_t HmainSideMag2, Double_t gap, Double_t gap2,
90 Double_t Z, Bool_t NotMagnet, Bool_t stepGeo);
Int_t Initialize(std::vector< TString > &magnetName, std::vector< FieldDirection > &fieldDirection, std::vector< Double_t > &dXIn, std::vector< Double_t > &dYIn, std::vector< Double_t > &dXOut, std::vector< Double_t > &dYOut, std::vector< Double_t > &dZ, std::vector< Double_t > &midGapIn, std::vector< Double_t > &midGapOut, std::vector< Double_t > &HmainSideMagIn, std::vector< Double_t > &HmainSideMagOut, std::vector< Double_t > &gapIn, std::vector< Double_t > &gapOut, std::vector< Double_t > &Z)
void CreateMagnet(TString magnetName, TGeoMedium *medium, TGeoVolume *tShield, TGeoUniformMagField *fields[4], FieldDirection fieldDirection, Double_t dX, Double_t dY, Double_t dX2, Double_t dY2, Double_t dZ, Double_t middleGap, Double_t middleGap2, Double_t HmainSideMag, Double_t HmainSideMag2, Double_t gap, Double_t gap2, Double_t Z, Bool_t NotMagnet, Bool_t stepGeo)
void CreateArb8(TString arbName, TGeoMedium *medium, Double_t dZ, std::array< Double_t, 16 > corners, Int_t color, TGeoUniformMagField *magField, TGeoVolume *top, Double_t x_translation, Double_t y_translation, Double_t z_translation)