| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Element Class Reference

Element class defines the Element material component. More...

#include <DetDesc/Element.h>

Inheritance diagram for Element:

[legend]
Collaboration diagram for Element:
[legend]
List of all members.

Public Types

typedef std::pair< double,
SmartRef< Isotope > > 
Entry
typedef std::vector< EntryIsotopes
typedef SmartRefVector< TabulatedPropertyTables

Public Member Functions

 Element (const std::string &name="", const std::string &symb="??", const double a=0, const double z=0, const double i=0, const double density=0, const double rl=0, const double al=0, const double temp=Gaudi::Units::STP_Temperature, const double press=Gaudi::Units::STP_Pressure, const eState s=stateUndefined)
virtual ~Element ()
virtual const CLIDclID () const
const std::string & symbol () const
 return symbol of element
void setSymbol (const std::string &S)
int nOfIsotopes () const
 Number of isotopes in the material.
const SmartRef< Isotope > & isotope (unsigned int i) const
 Return an isotope by index.
SmartRef< Isotope > & isotope (unsigned int i)
const Isotopesisotopes () const
 return vector of isotopes
Isotopesisotopes ()
double isotopeFraction (unsigned int i) const
 Return a fraction of an isotope by index.
void addIsotope (const SmartRef< Isotope > &iPtr, const double Fract, const bool comp=false)
 Add an isotope into this material After addition of the last isotope user can call this method with "comp" argument set to"true" and compute() method will do its job automatically, otherwise the user must call compute() method explicitly.
void addIsotope (const Entry &iPtr, const bool comp=false)
void removeIsotope (const SmartRef< Isotope > &iPtr, const bool comp=false)
 Remove an isotope from the vector of isotopes compute() method invocation is done as described above.
virtual double A () const
 Atomic mass [g/mole].
virtual void setA (const double value)
virtual double Z () const
 Atomic number.
virtual void setZ (const double value)
virtual double I () const
 Mean excitation energy.
virtual void setI (const double value)
virtual double C () const
 Parameters for density effect correction.
virtual void setC (const double value)
virtual double a () const
virtual void seta (const double value)
virtual double m () const
virtual void setm (const double value)
virtual double X0 () const
virtual void setX0 (const double value)
virtual double X1 () const
virtual void setX1 (const double value)
virtual double N () const
 Number of nucleons.
double coulombFactor () const
 Coulomb factor.
double tsaiFactor () const
 Tsai factor.
void compute ()
 Compute quantities after addition of all isotopes.
void ComputeCoulombFactor ()
 Compute Coulomb factor.
void ComputeLradTsaiFactor ()
 Comput Tsai factor.
void ComputeInteractionLength ()
 compute interaction length
void ComputeRadiationLength ()
 compute radiation length
void ComputeMeanExcitationEnergy ()
 compute mean excitation energy
void ComputeDensityEffect ()
 compute parameters for density correction
virtual std::ostream & fillStream (std::ostream &s) const
 Fill the output stream (ASCII).
virtual MsgStreamfillStream (MsgStream &s) const
 Fill the output stream (ASCII).
bool operator== (const Material *right) const
 Equality operators, NOTE! These operator work with pointers.
bool operator!= (const Material *right) const
virtual const std::string & name () const
 Material name accessors.
virtual void setName (const std::string &value)
virtual double density () const
 Material density accessors [g/cm3].
virtual void setDensity (const double value)
virtual double temperature () const
 Material temperature, by default is STP [K].
virtual void setTemperature (const double value)
virtual double pressure () const
 Material pressure, by default is STP [atm].
virtual void setPressure (const double value)
virtual eState state () const
 Material state, by default is stateUndefined.
virtual void setState (const eState value)
virtual double radiationLength () const
 Material radiation length [cm].
virtual void setRadiationLength (const double value)
virtual double absorptionLength () const
 Material absorption length [cm].
virtual void setAbsorptionLength (const double value)
TablestabulatedProperties ()
 some tabulated properties
const TablestabulatedProperties () const
void setRegistry (IRegistry *pRegistry)
IRegistryregistry () const
LinkManagerlinkMgr () const
unsigned char version () const
void setVersion (unsigned char vsn)
unsigned long refCount () const
virtual unsigned long addRef ()
virtual unsigned long release ()
virtual StreamBufferserialize (StreamBuffer &s)
virtual StreamBufferserialize (StreamBuffer &s) const

Static Public Member Functions

static const CLIDclassID ()

Private Attributes

double m_Aeff
 Effective atomic mass.
double m_Zeff
 Effective atomic number.
double m_Ieff
double m_C
double m_a
double m_m
double m_X0
double m_X1
Isotopes m_isotopes
 Vector of isotopes this material is composed of.
double m_coulomb
 Coulomb factor.
double m_tsai
 Tsai's factor.
std::string m_symb
 symbol

Friends

friend std::ostream & operator<< (std::ostream &s, const DataObject &obj)

Detailed Description

Element class defines the Element material component.

An Element material component can defined by composition of Isotopes. The composition is done only by fraction of the mass.

Author:
Radovan Chytracek

Vanya Belyaev

Definition at line 23 of file Element.h.


Member Typedef Documentation

typedef std::pair<double,SmartRef<Isotope> > Element::Entry

Definition at line 27 of file Element.h.

typedef std::vector<Entry> Element::Isotopes

Definition at line 28 of file Element.h.

typedef SmartRefVector<TabulatedProperty> Material::Tables [inherited]

Definition at line 37 of file Material.h.


Constructor & Destructor Documentation

Element::Element ( const std::string &  name = "",
const std::string &  symb = "??",
const double  a = 0,
const double  z = 0,
const double  i = 0,
const double  density = 0,
const double  rl = 0,
const double  al = 0,
const double  temp = Gaudi::Units::STP_Temperature,
const double  press = Gaudi::Units::STP_Pressure,
const eState  s = stateUndefined 
)

virtual Element::~Element (  )  [virtual]


Member Function Documentation

virtual const CLID& Element::clID (  )  const [inline, virtual]

Reimplemented from DataObject.

Definition at line 46 of file Element.h.

00046 { return Element::classID() ; };

static const CLID& Element::classID (  )  [inline, static]

Reimplemented from DataObject.

Definition at line 47 of file Element.h.

00047 { return CLID_Element       ; }; 

const std::string& Element::symbol (  )  const [inline]

return symbol of element

Definition at line 50 of file Element.h.

00050 { return m_symb ; }

void Element::setSymbol ( const std::string &  S  )  [inline]

Definition at line 51 of file Element.h.

00051 { m_symb = S; } 

int Element::nOfIsotopes (  )  const

Number of isotopes in the material.

const SmartRef<Isotope>& Element::isotope ( unsigned int  i  )  const

Return an isotope by index.

SmartRef<Isotope>& Element::isotope ( unsigned int  i  ) 

const Isotopes& Element::isotopes (  )  const

return vector of isotopes

Isotopes& Element::isotopes (  ) 

double Element::isotopeFraction ( unsigned int  i  )  const

Return a fraction of an isotope by index.

void Element::addIsotope ( const SmartRef< Isotope > &  iPtr,
const double  Fract,
const bool  comp = false 
)

Add an isotope into this material After addition of the last isotope user can call this method with "comp" argument set to"true" and compute() method will do its job automatically, otherwise the user must call compute() method explicitly.

void Element::addIsotope ( const Entry iPtr,
const bool  comp = false 
)

void Element::removeIsotope ( const SmartRef< Isotope > &  iPtr,
const bool  comp = false 
)

Remove an isotope from the vector of isotopes compute() method invocation is done as described above.

virtual double Element::A (  )  const [inline, virtual]

Atomic mass [g/mole].

Implements Material.

virtual void Element::setA ( const double  value  )  [inline, virtual]

Implements Material.

virtual double Element::Z (  )  const [inline, virtual]

Atomic number.

Implements Material.

virtual void Element::setZ ( const double  value  )  [inline, virtual]

Implements Material.

virtual double Element::I (  )  const [inline, virtual]

Mean excitation energy.

Implements Material.

virtual void Element::setI ( const double  value  )  [inline, virtual]

Implements Material.

virtual double Element::C (  )  const [inline, virtual]

Parameters for density effect correction.

Implements Material.

virtual void Element::setC ( const double  value  )  [inline, virtual]

Implements Material.

virtual double Element::a (  )  const [inline, virtual]

Implements Material.

virtual void Element::seta ( const double  value  )  [inline, virtual]

Implements Material.

virtual double Element::m (  )  const [inline, virtual]

Implements Material.

virtual void Element::setm ( const double  value  )  [inline, virtual]

Implements Material.

virtual double Element::X0 (  )  const [inline, virtual]

Implements Material.

virtual void Element::setX0 ( const double  value  )  [inline, virtual]

Implements Material.

virtual double Element::X1 (  )  const [inline, virtual]

Implements Material.

virtual void Element::setX1 ( const double  value  )  [inline, virtual]

Implements Material.

virtual double Element::N (  )  const [inline, virtual]

Number of nucleons.

Implements Material.

double Element::coulombFactor (  )  const [inline]

Coulomb factor.

double Element::tsaiFactor (  )  const [inline]

Tsai factor.

void Element::compute (  ) 

Compute quantities after addition of all isotopes.

void Element::ComputeCoulombFactor (  ) 

Compute Coulomb factor.

void Element::ComputeLradTsaiFactor (  ) 

Comput Tsai factor.

void Element::ComputeInteractionLength (  ) 

compute interaction length

void Element::ComputeRadiationLength (  ) 

compute radiation length

void Element::ComputeMeanExcitationEnergy (  ) 

compute mean excitation energy

void Element::ComputeDensityEffect (  ) 

compute parameters for density correction

virtual std::ostream& Element::fillStream ( std::ostream &  s  )  const [virtual]

Fill the output stream (ASCII).

Reimplemented from Material.

virtual MsgStream& Element::fillStream ( MsgStream s  )  const [virtual]

Fill the output stream (ASCII).

Reimplemented from Material.

bool Material::operator== ( const Material right  )  const [inherited]

Equality operators, NOTE! These operator work with pointers.

bool Material::operator!= ( const Material right  )  const [inherited]

virtual const std::string& Material::name (  )  const [virtual, inherited]

Material name accessors.

Reimplemented from DataObject.

virtual void Material::setName ( const std::string &  value  )  [virtual, inherited]

virtual double Material::density (  )  const [virtual, inherited]

Material density accessors [g/cm3].

virtual void Material::setDensity ( const double  value  )  [virtual, inherited]

virtual double Material::temperature (  )  const [virtual, inherited]

Material temperature, by default is STP [K].

virtual void Material::setTemperature ( const double  value  )  [virtual, inherited]

virtual double Material::pressure (  )  const [virtual, inherited]

Material pressure, by default is STP [atm].

virtual void Material::setPressure ( const double  value  )  [virtual, inherited]

virtual eState Material::state (  )  const [virtual, inherited]

Material state, by default is stateUndefined.

virtual void Material::setState ( const eState  value  )  [virtual, inherited]

virtual double Material::radiationLength (  )  const [virtual, inherited]

Material radiation length [cm].

virtual void Material::setRadiationLength ( const double  value  )  [virtual, inherited]

virtual double Material::absorptionLength (  )  const [virtual, inherited]

Material absorption length [cm].

virtual void Material::setAbsorptionLength ( const double  value  )  [virtual, inherited]

Tables& Material::tabulatedProperties (  )  [inline, inherited]

some tabulated properties

const Tables& Material::tabulatedProperties (  )  const [inline, inherited]


Member Data Documentation

double Element::m_Aeff [private]

Effective atomic mass.

Definition at line 133 of file Element.h.

double Element::m_Zeff [private]

Effective atomic number.

Definition at line 135 of file Element.h.

double Element::m_Ieff [private]

Definition at line 137 of file Element.h.

double Element::m_C [private]

Definition at line 139 of file Element.h.

double Element::m_a [private]

Definition at line 140 of file Element.h.

double Element::m_m [private]

Definition at line 141 of file Element.h.

double Element::m_X0 [private]

Definition at line 142 of file Element.h.

double Element::m_X1 [private]

Definition at line 143 of file Element.h.

Isotopes Element::m_isotopes [private]

Vector of isotopes this material is composed of.

Definition at line 145 of file Element.h.

double Element::m_coulomb [private]

Coulomb factor.

Definition at line 147 of file Element.h.

double Element::m_tsai [private]

Tsai's factor.

Definition at line 149 of file Element.h.

std::string Element::m_symb [private]

symbol

Definition at line 151 of file Element.h.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:00:18 2011 for DetDesc by doxygen 1.4.7