4 #include "KVFAZIALNS2016.h"
6 #include "KVFAZIABlock.h"
49 void KVFAZIALNS2016::GetGeometryParameters()
65 void KVFAZIALNS2016::RutherfordTelescope()
78 double total_thickness = thick + centre_dist;
88 const double distance = 2.20 *
KVUnits::m + 0.5 * total_thickness;
89 const double theta = 1.84;
90 const double phi = -90;
109 void KVFAZIALNS2016::BuildFAZIA()
115 Info(
"BuildFAZIA",
"Compact geometry, %f cm from target",
123 trans.
SetDz(distance_block_cible + thick_si1 / 2.);
139 for (
Int_t bb = 0; bb < fNblocks; bb += 1) {
141 if (bb == 1) centre.
SetXYZ(-1 * (dx - centre_hole / 2), -dx - centre_hole / 2, distance_block_cible);
142 else if (bb == 2) centre.
SetXYZ(-1 * (dx + centre_hole / 2), dx - centre_hole / 2, distance_block_cible);
143 else if (bb == 3) centre.
SetXYZ(-1 * (-dx + centre_hole / 2), dx + centre_hole / 2, distance_block_cible);
144 else if (bb == 0) centre.
SetXYZ(-1 * (-dx - centre_hole / 2), -dx + centre_hole / 2, distance_block_cible);
145 else if (bb == 4) centre.
SetXYZ(-1 * (-dx - centre_hole / 2), -3 * dx + centre_hole / 2, distance_block_cible);
147 KVError::Warning(
this,
"BuildFAZIA",
"Block position definition is done only for %d blocks", fNblocks);
151 printf(
"BLK #%d => theta=%1.2lf - phi=%1.2lf\n", bb, theta, phi);
155 h = rot2 * trans * rot1;
170 void KVFAZIALNS2016::SetNameOfDetectors(
KVEnv& env)
173 KVFAZIA::SetNameOfDetectors(env);
174 env.
SetValue(
"RUTH_SI_1",
"SI1-RUTH");
175 env.
SetValue(
"RUTH_SI_2",
"SI2-RUTH");
R__EXTERN TGeoManager * gGeoManager
Extension of TEnv to allow the writing of comments in the file.
Standard geometry of 16-telescope FAZIA block.
virtual void Build()
Set default dimensions for all parts of geometry.
Double_t GetTotalSideWithBlindage() const
FAZIA set-up for LNS 2016.
virtual ~KVFAZIALNS2016()
Destructor.
Description of a FAZIA detector geometry.
void SetGeometryImportParameters(Double_t dt=0.25, Double_t dp=1.0, Double_t tmin=2., Double_t pmin=0, Double_t tmax=20., Double_t pmax=360., Double_t xorg=0, Double_t yorg=0, Double_t zorg=0)
Description of physical materials used to construct detectors & targets; interface to range tables.
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
TGeoVolume * MakeTube(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t dz)
TGeoVolumeAssembly * MakeVolumeAssembly(const char *name)
TGeoVolume * GetTopVolume() const
void SetAngles(Double_t phi, Double_t theta, Double_t psi)
void SetDz(Double_t dz) override
TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="") override
virtual TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
virtual void Info(const char *method, const char *msgfmt,...) const
void SetXYZ(Double_t x, Double_t y, Double_t z)
RooCmdArg ClassName(const char *name)
RVec< PromoteType< T > > tan(const RVec< T > &v)
void Warning(UserClass p, const char *location, const char *va_(fmt),...)
constexpr Double_t DegToRad()
constexpr Double_t RadToDeg()