12#include "TGeoVolume.h"
13#include "TLorentzVector.h"
48 Float_t vesselstart) {
60 TString e, TString f, TString v, Float_t r) {
136 TGeoVolume*
GeoTrapezoid(TString xname, Double_t wz, Double_t wX_start,
137 Double_t wX_end, Double_t wY_start, Double_t wY_end,
138 Int_t color, TGeoMedium* material, Bool_t sens);
147 Double_t wX_start, Double_t wX_end,
148 Double_t wY_start, Double_t wY_end,
149 Int_t color, TGeoMedium* material,
155 void AddBlock(TGeoVolumeAssembly* tInnerWall,
156 TGeoVolumeAssembly* tDecayVacuum,
157 TGeoVolumeAssembly* tOuterWall, TGeoVolumeAssembly* tLongitRib,
158 TGeoVolumeAssembly* tVerticalRib, TGeoVolumeAssembly* ttLiSc,
159 int& liScCounter,
int blockNr,
int nx,
int ny,
double z1,
160 double z2,
double Zshift,
double dist,
double wallThick,
161 double liscThick1,
double liscThick2,
double ribThick);
164 TGeoVolumeAssembly*
GeoCornerRib(TString xname,
double ribThick,
double lt1,
165 double lt2,
double dz,
double slopeX,
166 double slopeY, Int_t color,
167 TGeoMedium* material, Bool_t sens);
171 int makeId(
double z,
double x,
double y);
174 int liscId(TString ShapeTypeName,
int blockNr,
int Zlayer,
int number,
182 TGeoVolume*
GeoSideObj(TString xname,
double dz,
double a1,
double b1,
183 double a2,
double b2,
double dA,
double dB,
184 Int_t color, TGeoMedium* material, Bool_t sens);
187 TGeoVolume*
GeoCornerLiSc1(TString xname,
double dz,
bool isClockwise,
188 double a1,
double a2,
double b1,
double b2,
189 double dA,
double dB, Int_t color,
190 TGeoMedium* material, Bool_t sens);
193 TGeoVolume*
GeoCornerLiSc2(TString xname,
double dz,
bool isClockwise,
194 double a1,
double a2,
double b1,
double b2,
195 double dA,
double dB, Int_t color,
196 TGeoMedium* material, Bool_t sens);
200 ClassDefOverride(
veto, 3)
TGeoVolume * GeoTrapezoidHollow(TString xname, Double_t thick, Double_t wz, Double_t wX_start, Double_t wX_end, Double_t wY_start, Double_t wY_end, Int_t color, TGeoMedium *material, Bool_t sens)
TString supportMedIn_name
medium of internal support structure(Default = Aluminum).
int liscId(TString ShapeTypeName, int blockNr, int Zlayer, int number, int position)
TString decayVolumeMed_name
medium of decay volume(Default= helium).
Bool_t ProcessHits(FairVolume *v=0) override
Processes a hit in the veto detector.
void SetUseSupport(Int_t use=1)
int makeId(double z, double x, double y)
void SetVesselDimensions(Float_t x1, Float_t x2, Float_t y1, Float_t y2, Float_t vesselstart)
void SetVesselStructure(Float_t a, Float_t b, Float_t c, TString d, Float_t l, TString e, TString f, TString v, Float_t r)
TGeoMedium * supportMedOut
TGeoMedium * decayVolumeMed
TGeoVolume * GeoCornerLiSc2(TString xname, double dz, bool isClockwise, double a1, double a2, double b1, double b2, double dA, double dB, Int_t color, TGeoMedium *material, Bool_t sens)
TGeoVolume * MakeSegments()
Float_t VetoStartInnerX
Width of the Vessel along X at the start.
double wy(double z)
slope along the length (y)
Float_t f_LidThickness
Thickness of the entrance/exit lid of the Decay Volume.
Float_t VetoEndInnerX
Width of the Vessel along X at the end.
TGeoVolume * GeoSideObj(TString xname, double dz, double a1, double b1, double a2, double b2, double dA, double dB, Int_t color, TGeoMedium *material, Bool_t sens)
TGeoVolumeAssembly * GeoCornerRib(TString xname, double ribThick, double lt1, double lt2, double dz, double slopeX, double slopeY, Int_t color, TGeoMedium *material, Bool_t sens)
veto & operator=(const veto &)=delete
Int_t GetLiquidVeto() const
Float_t f_OuterSupportThickness
Float_t f_VetoThickness
Thickness of the liquid scintillator along z(Default = 20cm).
void SetLiquidVeto(Int_t liquid=1)
void AddBlock(TGeoVolumeAssembly *tInnerWall, TGeoVolumeAssembly *tDecayVacuum, TGeoVolumeAssembly *tOuterWall, TGeoVolumeAssembly *tLongitRib, TGeoVolumeAssembly *tVerticalRib, TGeoVolumeAssembly *ttLiSc, int &liScCounter, int blockNr, int nx, int ny, double z1, double z2, double Zshift, double dist, double wallThick, double liscThick1, double liscThick2, double ribThick)
Float_t VetoEndInnerY
Length of the Vessel along Y at the end.
TGeoVolume * GeoCornerLiSc1(TString xname, double dz, bool isClockwise, double a1, double a2, double b1, double b2, double dA, double dB, Int_t color, TGeoMedium *material, Bool_t sens)
Float_t zStartDecayVol
z Position of the Decay Volume start in the global coordinate system
TGeoMedium * supportMedIn
TString supportMedOut_name
medium of external support structure(Default = Aluminum).
veto(const veto &)=delete
Float_t f_InnerSupportThickness
TGeoVolume * GeoTrapezoid(TString xname, Double_t wz, Double_t wX_start, Double_t wX_end, Double_t wY_start, Double_t wY_end, Int_t color, TGeoMedium *material, Bool_t sens)
void ConstructGeometry() override
Constructs the detector geometry.
TString vetoMed_name
medium of veto counter, liquid or plastic scintillator
double wx(double z)
slope along the width (x)
veto()
Constructor for the Veto class.
Float_t VetoStartInnerY
Length of the Vessel along Y at the start.
Int_t fLiquidVeto
Flag option for Liquid Scintillator (Default=True).
Int_t GetUseSupport() const