Material Class Reference

#include <Material.h>

List of all members.

Public Member Functions

 Material ()
 Material (MinosMaterial::StdMaterial_t material)
 ~Material ()
double Z (void) const
double A (void) const
double Density (void) const
double IonPotential (void) const
double C (void) const
double X0 (void) const
double X1 (void) const
double a (void) const
double m (void) const
const char * Name (void) const
void Set_Z (double Z)
void Set_A (double A)
void Set_Density (double d)
void Set_IonPotential (double I)
void Set_C (double C)
void Set_X0 (double X0)
void Set_X1 (double X1)
void Set_a (double a)
void Set_m (double m)
void Set_Name (const char *name)

Private Attributes

MinosMaterial::StdMaterial_t fStdMaterial
bool fIsStdMaterial
double fZ
double fA
double fDensity
double fI
double fC
double fX0
double fX1
double fa
double fm
string fName

Detailed Description

________________________________________________________________________________________

Id
Material.cxx,v 1.2 2006/05/18 22:11:00 admarino Exp

________________________________________________________________________________________

Id
Material.h,v 1.2 2006/05/18 22:11:00 admarino Exp

Definition at line 25 of file MuELoss/HEAD/Material.h.


Constructor & Destructor Documentation

Material::Material (  ) 

Definition at line 26 of file Material.cxx.

References MinosMaterial::eUndefined.

00027 {
00028   fStdMaterial   = MinosMaterial::eUndefined;
00029   fIsStdMaterial = false;
00030 }

Material::Material ( MinosMaterial::StdMaterial_t  material  ) 

Definition at line 33 of file Material.cxx.

References A(), MinosMaterial::AsString(), Density(), MinosMaterial::DensityCorrection_a(), MinosMaterial::DensityCorrection_C(), MinosMaterial::DensityCorrection_m(), MinosMaterial::DensityCorrection_X0(), MinosMaterial::DensityCorrection_X1(), MinosMaterial::eUndefined, fA, fa, fC, fDensity, fI, fIsStdMaterial, fm, fName, fStdMaterial, fX0, fX1, fZ, MinosMaterial::IonizationPotential(), and Z().

00034 {
00035   if(material == MinosMaterial::eUndefined)
00036             cerr << "Undefined material. You should not be using this constructor" << endl;
00037   else {          
00038     fStdMaterial   = material;
00039     fIsStdMaterial = true;
00040 
00041     fZ       =         MinosMaterial::Z                    (material);
00042     fA       =         MinosMaterial::A                    (material);
00043     fDensity =         MinosMaterial::Density              (material);
00044     fI       =         MinosMaterial::IonizationPotential  (material);           
00045     fC       =         MinosMaterial::DensityCorrection_C  (material);
00046     fX0      =         MinosMaterial::DensityCorrection_X0 (material);           
00047     fX1      =         MinosMaterial::DensityCorrection_X1 (material);
00048     fa       =         MinosMaterial::DensityCorrection_a  (material);
00049     fm       =         MinosMaterial::DensityCorrection_m  (material);
00050     fName    = string( MinosMaterial::AsString             (material) );
00051   }
00052 }

Material::~Material (  )  [inline]

Definition at line 31 of file MuELoss/HEAD/Material.h.

00031 { }


Member Function Documentation

double Material::a ( void   )  const [inline]

Definition at line 40 of file MuELoss/HEAD/Material.h.

References fa.

Referenced by BetheBlochModel::DensityCorrectionFactor().

00040 { return fa;            }

double Material::A ( void   )  const [inline]
double Material::C ( void   )  const [inline]

Definition at line 37 of file MuELoss/HEAD/Material.h.

References fC.

Referenced by BetheBlochModel::DensityCorrectionFactor().

00037 { return fC;            }   

double Material::Density ( void   )  const [inline]

Definition at line 35 of file MuELoss/HEAD/Material.h.

References fDensity.

Referenced by Material().

00035 { return fDensity;      } // gr/cm^3

double Material::IonPotential ( void   )  const [inline]

Definition at line 36 of file MuELoss/HEAD/Material.h.

References fI.

Referenced by BetheBlochModel::dE_dx().

00036 { return fI;            } // eV

double Material::m ( void   )  const [inline]

Definition at line 41 of file MuELoss/HEAD/Material.h.

References fm.

Referenced by BetheBlochModel::DensityCorrectionFactor().

00041 { return fm;            }

const char* Material::Name ( void   )  const [inline]

Definition at line 42 of file MuELoss/HEAD/Material.h.

References fName.

00042 { return fName.c_str(); }

void Material::Set_a ( double  a  ) 

Definition at line 97 of file Material.cxx.

References fa, and fIsStdMaterial.

00098 {
00099   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00100   else               fa = a;
00101 }

void Material::Set_A ( double  A  ) 

Definition at line 61 of file Material.cxx.

References fA, and fIsStdMaterial.

00062 {
00063   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00064   else               fA = A;
00065 }

void Material::Set_C ( double  C  ) 

Definition at line 79 of file Material.cxx.

References fC, and fIsStdMaterial.

00080 {
00081   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00082   else               fC = C;
00083 }

void Material::Set_Density ( double  d  ) 

Definition at line 67 of file Material.cxx.

References fDensity, and fIsStdMaterial.

00068 {
00069   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00070   else               fDensity = d;
00071 }

void Material::Set_IonPotential ( double  I  ) 

Definition at line 73 of file Material.cxx.

References fI, and fIsStdMaterial.

00074 {
00075   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00076   else               fI = I;
00077 }

void Material::Set_m ( double  m  ) 

Definition at line 103 of file Material.cxx.

References fIsStdMaterial, and fm.

00104 {
00105   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00106   else               fm = m;
00107 }

void Material::Set_Name ( const char *  name  ) 

Definition at line 109 of file Material.cxx.

References fIsStdMaterial, and fName.

00110 {
00111   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00112   else               fName = string(name);
00113 }

void Material::Set_X0 ( double  X0  ) 

Definition at line 85 of file Material.cxx.

References fIsStdMaterial, and fX0.

00086 {
00087   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00088   else               fX0 = X0;
00089 }

void Material::Set_X1 ( double  X1  ) 

Definition at line 91 of file Material.cxx.

References fIsStdMaterial, and fX1.

00092 {
00093   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00094   else               fX1 = X1;
00095 }

void Material::Set_Z ( double  Z  ) 

Definition at line 54 of file Material.cxx.

References fIsStdMaterial, and fZ.

00055 {
00056   if(fIsStdMaterial) cerr << "Std material. Can not overwrite its properties" << endl;
00057   else               fZ = Z;
00058   
00059 }

double Material::X0 ( void   )  const [inline]

Definition at line 38 of file MuELoss/HEAD/Material.h.

References fX0.

Referenced by BetheBlochModel::DensityCorrectionFactor().

00038 { return fX0;           }

double Material::X1 ( void   )  const [inline]

Definition at line 39 of file MuELoss/HEAD/Material.h.

References fX1.

Referenced by BetheBlochModel::DensityCorrectionFactor().

00039 { return fX1;           }

double Material::Z ( void   )  const [inline]

Member Data Documentation

double Material::fa [private]

Definition at line 67 of file MuELoss/HEAD/Material.h.

Referenced by a(), Material(), and Set_a().

double Material::fA [private]

Definition at line 61 of file MuELoss/HEAD/Material.h.

Referenced by A(), Material(), and Set_A().

double Material::fC [private]

Definition at line 64 of file MuELoss/HEAD/Material.h.

Referenced by C(), Material(), and Set_C().

double Material::fDensity [private]

Definition at line 62 of file MuELoss/HEAD/Material.h.

Referenced by Density(), Material(), and Set_Density().

double Material::fI [private]

Definition at line 63 of file MuELoss/HEAD/Material.h.

Referenced by IonPotential(), Material(), and Set_IonPotential().

bool Material::fIsStdMaterial [private]
double Material::fm [private]

Definition at line 68 of file MuELoss/HEAD/Material.h.

Referenced by m(), Material(), and Set_m().

string Material::fName [private]

Definition at line 69 of file MuELoss/HEAD/Material.h.

Referenced by Material(), Name(), and Set_Name().

Definition at line 57 of file MuELoss/HEAD/Material.h.

Referenced by Material().

double Material::fX0 [private]

Definition at line 65 of file MuELoss/HEAD/Material.h.

Referenced by Material(), Set_X0(), and X0().

double Material::fX1 [private]

Definition at line 66 of file MuELoss/HEAD/Material.h.

Referenced by Material(), Set_X1(), and X1().

double Material::fZ [private]

Definition at line 60 of file MuELoss/HEAD/Material.h.

Referenced by Material(), Set_Z(), and Z().


The documentation for this class was generated from the following files:

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1