24 #include "TGeoManager.h" 25 #include "TGeoMaterial.h" 35 double& radiationLength,
38 if (!gGeoManager->GetCurrentVolume()->GetMedium())
40 "genf::GFGeoMatManager::getMaterialParameters(): no medium in volume!", __LINE__, __FILE__)
42 TGeoMaterial*
mat = gGeoManager->GetCurrentVolume()->GetMedium()->GetMaterial();
48 matDensity = mat->GetDensity();
51 radiationLength = mat->GetRadLen();
62 gGeoManager->InitTrack(posx, posy, posz, dirx, diry, dirz);
67 gGeoManager->FindNextBoundaryAndStep(maxStep);
68 return gGeoManager->GetStep();
80 19.2, 41.8, 40.0, 63.7, 76.0, 78., 82.0, 95.0, 115.0, 137.0, 149.0, 156.0, 166.0, 173.0,
81 173.0, 180.0, 174.0, 188.0, 190.0, 191.0, 216.0, 233.0, 245.0, 257.0, 272.0, 286.0, 297.0, 311.0,
82 322.0, 330.0, 334.0, 350.0, 347.0, 348.0, 343.0, 352.0, 363.0, 366.0, 379.0, 393.0, 417.0, 424.0,
83 428.0, 441.0, 449.0, 470.0, 470.0, 469.0, 488.0, 488.0, 487.0, 485.0, 491.0, 482.0, 488.0, 491.0,
84 501.0, 523.0, 535.0, 546.0, 560.0, 574.0, 580.0, 591.0, 614.0, 628.0, 650.0, 658.0, 674.0, 684.0,
85 694.0, 705.0, 718.0, 727.0, 736.0, 746.0, 757.0, 790.0, 790.0, 800.0, 810.0, 823.0, 823.0, 830.0,
86 825.0, 794.0, 827.0, 826.0, 841.0, 847.0, 878.0, 890.0};
97 if (mat->IsMixture()) {
100 TGeoMixture* mix = (TGeoMixture*)mat;
101 for (
int i = 0; i < mix->GetNelements(); ++i) {
102 int index = int(floor((mix->GetZmixt())[i]));
104 assert(fabs(index - ((mix->GetZmixt())[i])) < 1.
e-3);
105 logMEE += 1. / (mix->GetAmixt())[i] * (mix->GetWmixt())[i] * (mix->GetZmixt())[i] *
107 denom += (mix->GetWmixt())[i] * (mix->GetZmixt())[i] * 1. / (mix->GetAmixt())[i];
113 int index = int(floor(mat->GetZ()));
115 assert(fabs(index - mat->GetZ()) < 1.
e-3);
float MeanExcEnergy_get(int Z)
void getMaterialParameters(double &matDensity, double &matZ, double &matA, double &radiationLength, double &mEE)
Gets material parameters (density, Z, A, radiation length, mean excitation energy) ...
const float MeanExcEnergy_vals[MeanExcEnergy_NELEMENTS]
double stepOrNextBoundary(const double &maxDist)
Makes a step, limited to next material boundary.
void initTrack(const double &posx, const double &posy, const double &posz, const double &dirx, const double &diry, const double &dirz)
Initializes the track.
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
GFException & setFatal(bool b=true)
set fatal flag. if this is true, the fit stops for this current track repr.
const int MeanExcEnergy_NELEMENTS