OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
Physics::Material Class Reference

#include <Material.h>

Inheritance diagram for Physics::Material:
Inheritance graph
[legend]

Public Types

enum  FitCoeffs { A2 = 0, A3, A4, A5 }
 

Public Member Functions

 Material (double atomicNumber, double atomicMass, double massDensity, double radiationLength, double meanExcitationEnergy, std::array< double, 4 > fitCoefficients)
 
double getAtomicNumber () const
 
double getAtomicMass () const
 
double getMassDensity () const
 
double getRadiationLength () const
 
double getMeanExcitationEnergy () const
 
double getStoppingPowerFitCoefficients (FitCoeffs n) const
 

Static Public Member Functions

static std::shared_ptr< MaterialgetMaterial (const std::string &name)
 
static std::shared_ptr< MaterialaddMaterial (const std::string &name, std::shared_ptr< Material > mat_ptr)
 

Private Attributes

const double atomicNumber_m
 
const double atomicMass_m
 
const double massDensity_m
 
const double radiationLength_m
 
const double meanExcitationEnergy_m
 
const std::array< double, 4 > stoppingPowerFitCoefficients_m
 

Static Private Attributes

static std::map< std::string,
std::shared_ptr< Material > > 
protoTable_sm
 

Detailed Description

Definition at line 11 of file Material.h.

Member Enumeration Documentation

Enumerator
A2 
A3 
A4 
A5 

Definition at line 13 of file Material.h.

Constructor & Destructor Documentation

Physics::Material::Material ( double  atomicNumber,
double  atomicMass,
double  massDensity,
double  radiationLength,
double  meanExcitationEnergy,
std::array< double, 4 >  fitCoefficients 
)
inline

Definition at line 20 of file Material.h.

Member Function Documentation

std::shared_ptr< Material > Material::addMaterial ( const std::string &  name,
std::shared_ptr< Material mat_ptr 
)
static

Definition at line 25 of file Material.cpp.

References protoTable_sm, and Util::toUpper().

Here is the call graph for this function:

double Physics::Material::getAtomicMass ( ) const
inline

Definition at line 62 of file Material.h.

References atomicMass_m.

double Physics::Material::getAtomicNumber ( ) const
inline

Definition at line 57 of file Material.h.

References atomicNumber_m.

double Physics::Material::getMassDensity ( ) const
inline

Definition at line 67 of file Material.h.

References massDensity_m.

std::shared_ptr< Material > Material::getMaterial ( const std::string &  name)
static

Definition at line 36 of file Material.cpp.

References protoTable_sm, and Util::toUpper().

Referenced by CollimatorPhysics::configureMaterialParameters().

Here is the call graph for this function:

double Physics::Material::getMeanExcitationEnergy ( ) const
inline

Definition at line 77 of file Material.h.

References meanExcitationEnergy_m.

double Physics::Material::getRadiationLength ( ) const
inline

Definition at line 72 of file Material.h.

References radiationLength_m.

double Physics::Material::getStoppingPowerFitCoefficients ( Material::FitCoeffs  n) const
inline

Definition at line 82 of file Material.h.

References Hypervolume::n, and stoppingPowerFitCoefficients_m.

Member Data Documentation

const double Physics::Material::atomicMass_m
private

Definition at line 49 of file Material.h.

Referenced by getAtomicMass().

const double Physics::Material::atomicNumber_m
private

Definition at line 48 of file Material.h.

Referenced by getAtomicNumber().

const double Physics::Material::massDensity_m
private

Definition at line 50 of file Material.h.

Referenced by getMassDensity().

const double Physics::Material::meanExcitationEnergy_m
private

Definition at line 52 of file Material.h.

Referenced by getMeanExcitationEnergy().

std::map< std::string, std::shared_ptr< Material > > Material::protoTable_sm
staticprivate

Definition at line 46 of file Material.h.

Referenced by addMaterial(), and getMaterial().

const double Physics::Material::radiationLength_m
private

Definition at line 51 of file Material.h.

Referenced by getRadiationLength().

const std::array<double,4> Physics::Material::stoppingPowerFitCoefficients_m
private

Definition at line 53 of file Material.h.

Referenced by getStoppingPowerFitCoefficients().


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