ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_PAI_element Class Reference

Chemical element. More...

#include <TRT_PAI_element.h>

Collaboration diagram for TRT_PAI_element:

Public Member Functions

 TRT_PAI_element ()
 Default constructor for unnamed element.
 TRT_PAI_element (const std::string &nm, const float *E, const float *S, int N, double Z, double A)
 Constructor of element.
const std::string & getName ()
 Get element name.
double getAtomicA ()
 Get atomic A of element.
double getAtomicZ ()
 Get atomic Z of element.
double getDensity (double tempK=293.)
 Get density of element at atmospheric preassure.
const std::vector< float > & getLnELvls ()
 Get vector of ln(energy) of energy levels (eV)
const std::vector< float > & getLnSigmas ()
 Get vector of ln(cross sections) corresponding to energy levels (Mb)

Private Attributes

std::string m_name
std::vector< float > m_lnEnergyLvls
std::vector< float > m_lnCrossScts
double m_atomicA
double m_atomicZ

Detailed Description

Chemical element.

Definition at line 14 of file TRT_PAI_element.h.

Constructor & Destructor Documentation

◆ TRT_PAI_element() [1/2]

TRT_PAI_element::TRT_PAI_element ( )
inline

Default constructor for unnamed element.

Definition at line 19 of file TRT_PAI_element.h.

19: m_name("unnamed"), m_atomicA(0), m_atomicZ(0) {};
std::string m_name

◆ TRT_PAI_element() [2/2]

TRT_PAI_element::TRT_PAI_element ( const std::string & nm,
const float * E,
const float * S,
int N,
double Z,
double A )

Constructor of element.

Parameters
nmelement name
Earray of absorption energies (ev)
Sarray of cross sections (Mb)
Nnumber of entries in these arrays
Zatomic Z
Aatomic A

Definition at line 13 of file TRT_PAI_element.cxx.

18 :
19 m_name(nm),
20 m_atomicA(A),
21 m_atomicZ(Z)
22{
23 for ( int i=0; i<N; ++i ) {
24 m_lnEnergyLvls.push_back( std::log(E[i]) );
25 m_lnCrossScts.push_back( std::log(S[i]) );
26 }
27 return;
28}
std::vector< float > m_lnEnergyLvls
std::vector< float > m_lnCrossScts

Member Function Documentation

◆ getAtomicA()

double TRT_PAI_element::getAtomicA ( )
inline

Get atomic A of element.

Definition at line 45 of file TRT_PAI_element.h.

45{ return m_atomicA; };

◆ getAtomicZ()

double TRT_PAI_element::getAtomicZ ( )
inline

Get atomic Z of element.

Definition at line 50 of file TRT_PAI_element.h.

50{ return m_atomicZ; };

◆ getDensity()

double TRT_PAI_element::getDensity ( double tempK = 293.)

Get density of element at atmospheric preassure.

Parameters
tempKTemperature in Kelvin

Definition at line 32 of file TRT_PAI_element.cxx.

32 {
33 double density = m_atomicA/22400.;
34 if ( tempK>0. ) density = density*293./tempK;
35 return density;
36}

◆ getLnELvls()

const std::vector< float > & TRT_PAI_element::getLnELvls ( )
inline

Get vector of ln(energy) of energy levels (eV)

Definition at line 61 of file TRT_PAI_element.h.

61{ return m_lnEnergyLvls; };

◆ getLnSigmas()

const std::vector< float > & TRT_PAI_element::getLnSigmas ( )
inline

Get vector of ln(cross sections) corresponding to energy levels (Mb)

Definition at line 66 of file TRT_PAI_element.h.

66{ return m_lnCrossScts; };

◆ getName()

const std::string & TRT_PAI_element::getName ( )
inline

Get element name.

Definition at line 40 of file TRT_PAI_element.h.

40{ return m_name; };

Member Data Documentation

◆ m_atomicA

double TRT_PAI_element::m_atomicA
private

Definition at line 72 of file TRT_PAI_element.h.

◆ m_atomicZ

double TRT_PAI_element::m_atomicZ
private

Definition at line 73 of file TRT_PAI_element.h.

◆ m_lnCrossScts

std::vector<float> TRT_PAI_element::m_lnCrossScts
private

Definition at line 71 of file TRT_PAI_element.h.

◆ m_lnEnergyLvls

std::vector<float> TRT_PAI_element::m_lnEnergyLvls
private

Definition at line 70 of file TRT_PAI_element.h.

◆ m_name

std::string TRT_PAI_element::m_name
private

Definition at line 69 of file TRT_PAI_element.h.


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