OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
Physics::Material Class Reference

#include <Material.h>

Inheritance diagram for Physics::Material:
Inheritance graph
Collaboration diagram for Physics::Material:
Collaboration graph

Public Types

enum  FitCoeffs {
  A1 = 0 , A2 , A3 , A4 ,
  A5 , B1 , B2 , B3 ,
  B4 , B5
}
 

Public Member Functions

 Material (double atomicNumber, double atomicMass, double massDensity, double radiationLength, double meanExcitationEnergy, std::array< double, 10 > 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, 10 > stoppingPowerFitCoefficients_m
 

Static Private Attributes

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

Detailed Description

Definition at line 28 of file Material.h.

Member Enumeration Documentation

◆ FitCoeffs

Enumerator
A1 
A2 
A3 
A4 
A5 
B1 
B2 
B3 
B4 
B5 

Definition at line 30 of file Material.h.

Constructor & Destructor Documentation

◆ Material()

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

Definition at line 32 of file Material.h.

Member Function Documentation

◆ addMaterial()

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

Definition at line 41 of file Material.cpp.

References protoTable_sm, and Util::toUpper().

Here is the call graph for this function:

◆ getAtomicMass()

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

Definition at line 66 of file Material.h.

References atomicMass_m.

◆ getAtomicNumber()

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

Definition at line 64 of file Material.h.

References atomicNumber_m.

◆ getMassDensity()

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

Definition at line 68 of file Material.h.

References massDensity_m.

◆ getMaterial()

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

Definition at line 51 of file Material.cpp.

References protoTable_sm, and Util::toUpper().

Here is the call graph for this function:

◆ getMeanExcitationEnergy()

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

Definition at line 72 of file Material.h.

References meanExcitationEnergy_m.

◆ getRadiationLength()

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

Definition at line 70 of file Material.h.

References radiationLength_m.

◆ getStoppingPowerFitCoefficients()

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

Definition at line 74 of file Material.h.

References stoppingPowerFitCoefficients_m.

Member Data Documentation

◆ atomicMass_m

const double Physics::Material::atomicMass_m
private

Definition at line 57 of file Material.h.

Referenced by getAtomicMass().

◆ atomicNumber_m

const double Physics::Material::atomicNumber_m
private

Definition at line 56 of file Material.h.

Referenced by getAtomicNumber().

◆ massDensity_m

const double Physics::Material::massDensity_m
private

Definition at line 58 of file Material.h.

Referenced by getMassDensity().

◆ meanExcitationEnergy_m

const double Physics::Material::meanExcitationEnergy_m
private

Definition at line 60 of file Material.h.

Referenced by getMeanExcitationEnergy().

◆ protoTable_sm

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

Definition at line 54 of file Material.h.

Referenced by addMaterial(), and getMaterial().

◆ radiationLength_m

const double Physics::Material::radiationLength_m
private

Definition at line 59 of file Material.h.

Referenced by getRadiationLength().

◆ stoppingPowerFitCoefficients_m

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

Definition at line 61 of file Material.h.

Referenced by getStoppingPowerFitCoefficients().


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