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

In This Package:

Material Class Reference

Material class is a base class for all brands of material component classes: Isotope, Element, Mixture. More...

#include <DetDesc/Material.h>

Inheritance diagram for Material:

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

Public Types

typedef SmartRefVector< TabulatedPropertyTables

Public Member Functions

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)
virtual double A () const =0
 Atomic mass [g/mole].
virtual void setA (const double value)=0
virtual double Z () const =0
 Atomic number.
virtual void setZ (const double value)=0
virtual double I () const =0
 Mean excitiation energy.
virtual void setI (const double value)=0
virtual double C () const =0
 Parameters for density effect correction.
virtual void setC (const double value)=0
virtual double a () const =0
virtual void seta (const double value)=0
virtual double m () const =0
virtual void setm (const double value)=0
virtual double X1 () const =0
virtual void setX1 (const double value)=0
virtual double X0 () const =0
virtual void setX0 (const double value)=0
virtual double N () const =0
 Number of nucleons.
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 const CLIDclID () const
virtual StreamBufferserialize (StreamBuffer &s)
virtual StreamBufferserialize (StreamBuffer &s) const

Static Public Member Functions

static const CLIDclassID ()

Protected Member Functions

 Material (const std::string &name="", const double dens=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)
 Constructors of a simple material.
virtual ~Material ()
 Destructor.

Private Attributes

std::string m_name
double m_density
double m_radiationLength
double m_absorptionLength
double m_temperature
double m_pressure
eState m_state
Tables m_props

Friends

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

Detailed Description

Material class is a base class for all brands of material component classes: Isotope, Element, Mixture.

Defines a common interface to access the info about a material. The end user should always deal with materials via a pointer to the Material class.

Author:
Radovan Chytracek

Definition at line 33 of file Material.h.


Member Typedef Documentation

typedef SmartRefVector<TabulatedProperty> Material::Tables

Definition at line 37 of file Material.h.


Constructor & Destructor Documentation

Material::Material ( const std::string &  name = "",
const double  dens = 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 
) [protected]

Constructors of a simple material.

virtual Material::~Material (  )  [protected, virtual]

Destructor.


Member Function Documentation

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

Fill the output stream (ASCII).

Reimplemented from DataObject.

Reimplemented in Element, and Mixture.

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

Fill the output stream (ASCII).

Reimplemented in Element, and Mixture.

bool Material::operator== ( const Material right  )  const

Equality operators, NOTE! These operator work with pointers.

bool Material::operator!= ( const Material right  )  const

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

Material name accessors.

Reimplemented from DataObject.

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

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

Material density accessors [g/cm3].

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

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

Material temperature, by default is STP [K].

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

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

Material pressure, by default is STP [atm].

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

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

Material state, by default is stateUndefined.

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

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

Material radiation length [cm].

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

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

Material absorption length [cm].

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

virtual double Material::A (  )  const [pure virtual]

Atomic mass [g/mole].

Implemented in Element, Isotope, and Mixture.

virtual void Material::setA ( const double  value  )  [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual double Material::Z (  )  const [pure virtual]

Atomic number.

Implemented in Element, Isotope, and Mixture.

virtual void Material::setZ ( const double  value  )  [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual double Material::I (  )  const [pure virtual]

Mean excitiation energy.

Implemented in Element, Isotope, and Mixture.

virtual void Material::setI ( const double  value  )  [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual double Material::C (  )  const [pure virtual]

Parameters for density effect correction.

Implemented in Element, Isotope, and Mixture.

virtual void Material::setC ( const double  value  )  [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual double Material::a (  )  const [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual void Material::seta ( const double  value  )  [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual double Material::m (  )  const [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual void Material::setm ( const double  value  )  [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual double Material::X1 (  )  const [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual void Material::setX1 ( const double  value  )  [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual double Material::X0 (  )  const [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual void Material::setX0 ( const double  value  )  [pure virtual]

Implemented in Element, Isotope, and Mixture.

virtual double Material::N (  )  const [pure virtual]

Number of nucleons.

Implemented in Element, Isotope, and Mixture.

Tables& Material::tabulatedProperties (  )  [inline]

some tabulated properties

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


Member Data Documentation

std::string Material::m_name [private]

Definition at line 128 of file Material.h.

double Material::m_density [private]

Definition at line 131 of file Material.h.

double Material::m_radiationLength [private]

Definition at line 134 of file Material.h.

double Material::m_absorptionLength [private]

Definition at line 137 of file Material.h.

double Material::m_temperature [private]

Definition at line 140 of file Material.h.

double Material::m_pressure [private]

Definition at line 143 of file Material.h.

eState Material::m_state [private]

Definition at line 146 of file Material.h.

Tables Material::m_props [private]

Definition at line 149 of file Material.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:19 2011 for DetDesc by doxygen 1.4.7