35 #ifndef __PhotonCrossSection_h 36 #define __PhotonCrossSection_h 70 #ifndef __gVirtualXRayConfig_h 93 class PhotonCrossSection;
95 std::ostream&
operator<<(std::ostream& anOuputStream,
96 const PhotonCrossSection& anInstance);
119 void useHU(
short HU);
127 void useMixture(
const std::map<int, double>& aMixture);
128 void useMixture(
const std::map<std::string, double>& aMixture);
140 double getMu(
double anEnergy)
const;
143 const std::string&
getLabel()
const;
188 friend std::ostream&
operator<<(std::ostream& anOuputStream,
195 std::string& aWeight,
196 std::map<int, double>& aWeightSet);
222 #endif // __PhotonCrossSection_h
bool operator==(const PhotonCrossSection &aTestData) const
double getMolarMass() const
std::vector< int > getMixtureElementSet() const
Accessor on the element Z number set of the mixture of the polygon mesh.
friend std::ostream & operator<<(std::ostream &anOuputStream, const PhotonCrossSection &anInstance)
bool useHounsfieldValue() const
static void processElement(std::string &aSymbol, std::string &aWeight, std::map< int, double > &aWeightSet)
bool useLinearAttenuationCoefficient() const
unsigned short m_Z_number
std::string getCompound() const
Accessor on the compound description of the polygon mesh.
double m_linear_attenuation_coefficient
void useCompound(const std::string &aName)
bool m_use_linear_attenuation_coefficient
double getLinearAttenuationCoefficient(double anEnergy) const
double getMassAttenuationCoefficient(double anEnergy) const
const std::string & getLabel() const
bool operator!=(const PhotonCrossSection &aTestData) const
PhotonCrossSection is a class to manage photon cross sections of elements, compounds and mixtures...
std::ostream & operator<<(std::ostream &anOutputSream, const gVirtualXRay::AtomicElement &anElement)
operator <<
std::vector< double > getMixtureWeightSet() const
Accessor on the element weight set of the mixture of the polygon mesh.
bool useMassAttenuationCoefficient() const
Mixture is a class to manage a mixture (e.g. Ti90Al6V4).
Class to manage a mixture (e.g. Ti90Al6V4).
double getDensity() const
bool useHounsfieldUnit() const
bool m_use_mass_attenuation_coefficient
double getMu(double anEnergy) const
static std::map< int, double > getCompoundWeightSet(const std::string &aName)
Class to manage photon cross sections of elements, compounds and mixtures.
double m_mass_attenuation_coefficient
void setDensity(double aDensity)