CbmRoot
LitCudaMaterialInfo.h
Go to the documentation of this file.
1 #ifndef LITCUDAMATERIALINFO_H_
2 #define LITCUDAMATERIALINFO_H_
3 
4 #include <iostream>
5 
7  float Thickness; // Thickness of the material [cm]
8  float X0; // Radiation length [cm]
9  float Rho; // Density [g/cm^3]
10  float Z; //
11  float A; //
12  float Zpos; // Z position of the material
13  float RadThick; // Length/X0
14  float SqrtRadThick; // std::sqrt(Length/X0)
15  float LogRadThick; // std::log(Length/X0)
16  // approximation of the mean excitation energy in GeV
17  // I = (Z > 16)? 10 * Z * 1e-9 : 16 * std::pow(Z, 0.9) * 1e-9;
18  float I;
19 
20  friend std::ostream& operator<<(std::ostream& strm,
21  const LitCudaMaterialInfo& mat) {
22  strm << "LitCudaMaterialinfo: Thickness=" << mat.Thickness
23  << ", X0=" << mat.X0 << ", Rho=" << mat.Rho << ", Z=" << mat.Z
24  << ", A=" << mat.A << ", Zpos=" << mat.Zpos << ", I=" << mat.I
25  << std::endl;
26  return strm;
27  }
28 };
29 
30 #endif /* LITCUDAMATERIALINFO_H_ */
LitCudaMaterialInfo::Thickness
float Thickness
Definition: LitCudaMaterialInfo.h:7
LitCudaMaterialInfo::I
float I
Definition: LitCudaMaterialInfo.h:18
LitCudaMaterialInfo::Zpos
float Zpos
Definition: LitCudaMaterialInfo.h:12
LitCudaMaterialInfo::A
float A
Definition: LitCudaMaterialInfo.h:11
LitCudaMaterialInfo::RadThick
float RadThick
Definition: LitCudaMaterialInfo.h:13
LitCudaMaterialInfo::Z
float Z
Definition: LitCudaMaterialInfo.h:10
LitCudaMaterialInfo::Rho
float Rho
Definition: LitCudaMaterialInfo.h:9
LitCudaMaterialInfo::LogRadThick
float LogRadThick
Definition: LitCudaMaterialInfo.h:15
LitCudaMaterialInfo::SqrtRadThick
float SqrtRadThick
Definition: LitCudaMaterialInfo.h:14
LitCudaMaterialInfo::operator<<
friend std::ostream & operator<<(std::ostream &strm, const LitCudaMaterialInfo &mat)
Definition: LitCudaMaterialInfo.h:20
LitCudaMaterialInfo::X0
float X0
Definition: LitCudaMaterialInfo.h:8
LitCudaMaterialInfo
Definition: LitCudaMaterialInfo.h:6