GammaLib  2.1.0.dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GCOMInstChars Class Reference

Interface for the COMPTEL Instrument Characteristics class. More...

#include <GCOMInstChars.hpp>

Inheritance diagram for GCOMInstChars:
GBase

Public Member Functions

 GCOMInstChars (void)
 Void constructor. More...
 
 GCOMInstChars (const GCOMInstChars &ict)
 Copy constructor. More...
 
 GCOMInstChars (const GCaldb &caldb, const std::string &ictname)
 Response constructor. More...
 
 ~GCOMInstChars (void)
 Destructor. More...
 
GCOMInstCharsoperator= (const GCOMInstChars &ict)
 Assignment operator. More...
 
void clear (void)
 Clear instance. More...
 
GCOMInstCharsclone (void) const
 Clone instance. More...
 
std::string classname (void) const
 Return class name. More...
 
void caldb (const GCaldb &caldb)
 Set calibration database. More...
 
const GCaldbcaldb (void) const
 Return calibration database. More...
 
void load (const std::string &ictname)
 Load COMPTEL instrument characteristics. More...
 
double trans_D1 (const double &energy) const
 Return transmission above D1. More...
 
double trans_V1 (const double &energy) const
 Return V1 veto dome transmission. More...
 
double prob_D1inter (const double &energy) const
 Return D1 interaction probability. More...
 
double prob_no_multihit (const double &energy) const
 Return probability that no multihit occured. More...
 
double prob_no_selfveto (const double &energy, const double &zenith) const
 Return probability that photon was not self vetoed. More...
 
double trans_D2 (const double &energy, const double &phigeo) const
 Return transmission of material between D1 and D2. More...
 
double trans_V23 (const double &energy, const double &phigeo) const
 Return V2+V3 veto dome transmission. More...
 
double prob_D2inter (const double &energy, const double &phigeo) const
 Return D2 interaction probability. More...
 
double multi_scatter (const double &energy, const double &phigeo) const
 Return multi-scatter correction. More...
 
double psd_correction (const double &energy, const double &phigeo) const
 Return PSD correction. More...
 
std::string print (const GChatter &chatter=NORMAL) const
 Print COMPTEL instrument characteristics. More...
 
- Public Member Functions inherited from GBase
virtual ~GBase (void)
 Destructor. More...
 

Private Member Functions

void init_members (void)
 Initialise class members. More...
 
void copy_members (const GCOMInstChars &ict)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 
void read_coeffs (const GFitsTable &table, GNodeArray &energies, std::vector< double > &coeffs)
 Read energy dependent coefficients. More...
 
void read_pos (const GFitsTable &table, std::vector< double > &x, std::vector< double > &y)
 Read module positions. More...
 
void read_selfveto (const GFitsTable &table)
 Read selfveto coefficients. More...
 
double ne213a_mfpath (const double &energy) const
 Return NE213A mean free path. More...
 
double kn_cross_section (const double &k) const
 Return integrated Klein-Nishina cross section. More...
 
double min_coeff (const std::vector< double > &coeffs) const
 Return minimum coefficient. More...
 
double max_coeff (const std::vector< double > &coeffs) const
 Return maximum coefficient. More...
 

Private Attributes

GCaldb m_caldb
 Calibration database. More...
 
GNodeArray m_d1inter_energies
 D1 interaction coefficient energies (MeV) More...
 
std::vector< double > m_d1inter_coeffs
 D1 interaction coefficients. More...
 
GNodeArray m_d2inter_energies
 D2 interaction coefficient energies (MeV) More...
 
std::vector< double > m_d2inter_coeffs
 D2 interaction coefficients. More...
 
GNodeArray m_alu_energies
 Al interaction coefficient energies (MeV) More...
 
std::vector< double > m_alu_coeffs
 Al interaction coefficients. More...
 
GNodeArray m_aboved1_energies
 Above D1 attenuation coefficient energies (MeV) More...
 
std::vector< double > m_aboved1_coeffs
 Above D1 attenuation coefficients. More...
 
GNodeArray m_veto_energies
 Veto dome attenuation coefficient energies (MeV) More...
 
std::vector< double > m_veto_coeffs
 Veto dome attenuation coefficients. More...
 
GNodeArray m_selfveto_energies
 Selfveto energies (MeV) More...
 
GNodeArray m_selfveto_zeniths
 Selfveto zenith angle (deg) More...
 
std::vector< double > m_selfveto_coeffs
 Selfveto coefficients (probability) More...
 
GNodeArray m_d1multi_energies
 D1 multihit attenuation coefficient energies (MeV) More...
 
std::vector< double > m_d1multi_coeffs
 D1 multihit attenuation coefficients (probability) More...
 
GNodeArray m_d2multi_energies
 D2 multihit attenuation coefficient energies (MeV) More...
 
std::vector< double > m_d2multi_coeffs
 D2 multihit attenuation coefficients (probability) More...
 
std::vector< double > m_d1pos_x
 D1 x-position (cm) More...
 
std::vector< double > m_d1pos_y
 D1 y-position (cm) More...
 
std::vector< double > m_d2pos_x
 D2 x-position (cm) More...
 
std::vector< double > m_d2pos_y
 D2 y-position (cm) More...
 
GNodeArray m_mfpath_energies
 NE213A mean free path energies (MeV) More...
 
std::vector< double > m_mfpath_coeffs
 NE213A mean free path values. More...
 
double m_d1dens
 D1 density (g/cm^-3) More...
 
double m_d1rad
 D1 radius (cm) More...
 
double m_d1thick
 D1 thickness (cm) More...
 
double m_d2dens
 D2 density (g/cm^-3) More...
 
double m_d2rad
 D2 radius (cm) More...
 
double m_d2thick
 D2 thickness (cm) More...
 
double m_thbar
 Average D2 incident angle (deg) More...
 
double m_delz
 Distance between D1 and D2 levels (cm) More...
 
double m_aldens
 Density of aluminium plate above D2 (g/cm^-3) More...
 
double m_althick
 Thickness of aluminium plate above D2 (cm) More...
 
double m_abdens
 Density above D1 (g/cm^-3) More...
 
double m_abthick
 Thickness above D1 (cm) More...
 
double m_vetodens
 Density of veto domes (g/cm^-3) More...
 
double m_v1thick
 Thickness of V1 veto dome (cm) More...
 
double m_vthick
 Thickness of V2 and V3 veto domes together (cm) More...
 

Detailed Description

Interface for the COMPTEL Instrument Characteristics class.

Definition at line 47 of file GCOMInstChars.hpp.

Constructor & Destructor Documentation

GCOMInstChars::GCOMInstChars ( void  )

Void constructor.

Creates empty COMPTEL instrument characteristics.

Definition at line 61 of file GCOMInstChars.cpp.

References init_members().

Referenced by clone().

GCOMInstChars::GCOMInstChars ( const GCOMInstChars ict)

Copy constructor.

Parameters
[in]ictCOMPTEL instrument characteristics.

Definition at line 76 of file GCOMInstChars.cpp.

References copy_members(), and init_members().

GCOMInstChars::GCOMInstChars ( const GCaldb caldb,
const std::string &  ictname 
)

Response constructor.

Parameters
[in]caldbCalibration database.
[in]ictnameICT response name.

Create COMPTEL instrument characteristics by loading an ICT file from a calibration database.

Definition at line 98 of file GCOMInstChars.cpp.

References caldb(), init_members(), and load().

GCOMInstChars::~GCOMInstChars ( void  )

Destructor.

Destroys instance of COMPTEL instrument characteristics.

Definition at line 119 of file GCOMInstChars.cpp.

References free_members().

Member Function Documentation

void GCOMInstChars::caldb ( const GCaldb caldb)
inline

Set calibration database.

Parameters
[in]caldbCalibration database.

Sets the calibration database containing the COMPTEL D1 module response.

Definition at line 168 of file GCOMInstChars.hpp.

References caldb(), and m_caldb.

const GCaldb & GCOMInstChars::caldb ( void  ) const
inline

Return calibration database.

Returns
Calibration database.

Definition at line 154 of file GCOMInstChars.hpp.

References m_caldb.

Referenced by caldb(), GCOMInstChars(), and load().

std::string GCOMInstChars::classname ( void  ) const
inlinevirtual

Return class name.

Returns
String containing the class name ("GCOMInstChars").

Implements GBase.

Definition at line 142 of file GCOMInstChars.hpp.

void GCOMInstChars::clear ( void  )
virtual

Clear instance.

Clears COMPTEL instrument characteristics object by resetting all members to an initial state. Any information that was present in the object before will be lost.

Implements GBase.

Definition at line 175 of file GCOMInstChars.cpp.

References free_members(), and init_members().

Referenced by GCOMIaq::init_members(), and load().

GCOMInstChars * GCOMInstChars::clone ( void  ) const
virtual

Clone instance.

Returns
Pointer to deep copy of COMPTEL instrument characteristics.

Implements GBase.

Definition at line 193 of file GCOMInstChars.cpp.

References GCOMInstChars().

void GCOMInstChars::free_members ( void  )
private

Delete class members.

Definition at line 1238 of file GCOMInstChars.cpp.

Referenced by clear(), operator=(), and ~GCOMInstChars().

double GCOMInstChars::kn_cross_section ( const double &  k) const
private

Return integrated Klein-Nishina cross section.

Parameters
[in]k\(E/ m_e c^2\)
Returns
Integrated Klein-Nishina cross section

Computes

\[ \sigma_{\rm KN}(k) = \frac{1+k}{k^2} \left[ \frac{2(1+k)}{1+2k} - \frac{\ln(1+2k)}{k} \right] + \frac{\ln(1+2k)}{2k} - \frac{1+3k}{(1+2k)^2} \]

where \(k = E/ m_e c^2\).

Definition at line 1593 of file GCOMInstChars.cpp.

References log().

Referenced by ne213a_mfpath().

void GCOMInstChars::load ( const std::string &  ictname)

Load COMPTEL instrument characteristics.

Parameters
[in]ictnameCOMPTEL instrument characteristics.

Loads the COMPTEL instrument characteristics with specified name ictname. The method first searchs for an appropriate response in the calibration database. If no appropriate response is found, the method takes the database root path and response name to build the full path to the response file, and tries to load the response from these paths.

Definition at line 210 of file GCOMInstChars.cpp.

References caldb(), clear(), GFits::close(), GFilename::exists(), GCaldb::filename(), gammalib::filepath(), GFilename::is_empty(), m_abdens, m_aboved1_coeffs, m_aboved1_energies, m_abthick, m_aldens, m_althick, m_alu_coeffs, m_alu_energies, m_caldb, m_d1dens, m_d1inter_coeffs, m_d1inter_energies, m_d1multi_coeffs, m_d1multi_energies, m_d1pos_x, m_d1pos_y, m_d1rad, m_d1thick, m_d2dens, m_d2inter_coeffs, m_d2inter_energies, m_d2multi_coeffs, m_d2multi_energies, m_d2pos_x, m_d2pos_y, m_d2rad, m_d2thick, m_delz, m_thbar, m_v1thick, m_veto_coeffs, m_veto_energies, m_vetodens, m_vthick, read_coeffs(), read_pos(), read_selfveto(), GFitsHDU::real(), GCaldb::rootdir(), and GFits::table().

Referenced by GCOMInstChars().

double GCOMInstChars::max_coeff ( const std::vector< double > &  coeffs) const
private

Return maximum coefficient.

Parameters
[in]coeffsCoefficients.
Returns
Maximum coefficient.

Returns maximum coefficient.

Definition at line 1648 of file GCOMInstChars.cpp.

References max().

Referenced by print().

double GCOMInstChars::min_coeff ( const std::vector< double > &  coeffs) const
private

Return minimum coefficient.

Parameters
[in]coeffsCoefficients.
Returns
Minimum coefficient.

Returns minimum coefficient.

Definition at line 1615 of file GCOMInstChars.cpp.

References min().

Referenced by print().

double GCOMInstChars::multi_scatter ( const double &  energy,
const double &  phigeo 
) const

Return multi-scatter correction.

Parameters
[in]energyInput photon energy (MeV).
[in]phigeoGeometrical scatter angle (deg).
Returns
Correction factor due to multi-scatter.

Returns the fraction of photons that have undergone a single scatter and which leave the D1 module unattenuated (no second interaction when traversing the remaining path inside the same module).

RES already calculates the fraction of photons which undergo a single scatter for VERTICALLY indicent photons, based on the Klein-Nishina cross-section and the composition of NE213A. Therefore the above mentioned transmission can be applied as a multiplicative correction per phigeo. However, in order to calculate that correction, an integral over the module must be performed, which properly takes into account the radiative transfer inside the module at all R and z. We again use the assumption of vertical photon incidence, which simplifies the calculation. The integral is done over the location of the first interaction.

Note that the transmission calculated is conservative : in reality it will be a bit higher because of a fraction of the photons which undergo a second scatter have a final scatter angle after escaping the module within the phigeo-range of the PSF. These events will, however, mainly be located at large phibar (large D1E deposit).

The code implementation is based on the COMPASS RESPSIT2 function MULTIS.F (release ?, 27-NOV-92).

< Number of steps in z-direction

< Number of azimuthal steps

Definition at line 722 of file GCOMInstChars.cpp.

References abs(), cos(), gammalib::deg2rad, exp(), m_d1rad, m_d1thick, gammalib::mec2, ne213a_mfpath(), gammalib::pi, sin(), and sqrt().

Referenced by GCOMIaq::weight_iaq().

double GCOMInstChars::ne213a_mfpath ( const double &  energy) const
private

Return NE213A mean free path.

Parameters
[in]energyEnergy (MeV)
Returns
Mean free path (cm)

The mean free path as a function of energy, linearly interpolated between data-points. Table of mean free paths for NE213A taken from L. Kuiper calculated in JOB ROL-SPDSD1-43. This includes (1) Compton scattering and (2) Pair production.

Definition at line 1527 of file GCOMInstChars.cpp.

References exp(), GNodeArray::interpolate(), kn_cross_section(), log(), m_d1inter_coeffs, m_d1inter_energies, gammalib::mec2, and norm().

Referenced by multi_scatter().

GCOMInstChars & GCOMInstChars::operator= ( const GCOMInstChars ict)

Assignment operator.

Parameters
[in]ictCOMPTEL instrument characteristics.
Returns
COMPTEL instrument characteristics.

Definition at line 141 of file GCOMInstChars.cpp.

References copy_members(), free_members(), and init_members().

double GCOMInstChars::prob_D1inter ( const double &  energy) const

Return D1 interaction probability.

Parameters
[in]energyInput photon energy (MeV).
Returns
D1 interaction probability.

Computes the D1 interaction probability as function of energy using

\[ P(E) = 1 - \exp \left(-\mu_m(E) \, l \right) \]

where \(-\mu(E)\) is the energy-dependent D1 attenuation coefficient in units of \(1/cm\) that is interpolated using a log-log interpolation of the ICT table values, and \(l\) is the thickness of the D1 module in \(cm\).

Definition at line 405 of file GCOMInstChars.cpp.

References exp(), GNodeArray::interpolate(), log(), m_d1inter_coeffs, m_d1inter_energies, m_d1thick, and GNodeArray::size().

Referenced by GCOMIaq::weight_iaq().

double GCOMInstChars::prob_D2inter ( const double &  energy,
const double &  phigeo 
) const

Return D2 interaction probability.

Parameters
[in]energyInput photon energy (MeV).
[in]phigeoGeometrical scatter angle (deg).
Returns
D2 interaction probability.

Computes the D2 interaction probability as function of energy using

\[ P(E) = 1 - \exp \left(-\mu_m(E_2) \, l \right) \]

with

\[ E_2 = \frac{E_{\gamma}} {(1 - \cos \varphi_{\rm geo}) \frac{E_{\gamma}}{m_e c^2} + 1} \]

where \(E_{\gamma}\) is the input photon energy in MeV, \(\varphi_{\rm geo}\) is the geometrical scatter angle, \(\mu(E_2)\) is the energy-dependent D2 attenuation coefficient in units of \(cm^{-1}\) that is interpolated using a log-log interpolation of the ICT table values, and \(l\) is the thickness of the D2 module in \(cm\).

Definition at line 667 of file GCOMInstChars.cpp.

References gammalib::com_energy2(), exp(), GNodeArray::interpolate(), log(), m_d2inter_coeffs, m_d2inter_energies, m_d2thick, and GNodeArray::size().

Referenced by GCOMIaq::weight_iaq().

double GCOMInstChars::prob_no_multihit ( const double &  energy) const

Return probability that no multihit occured.

Parameters
[in]energyInput photon energy (MeV).
Returns
Probability that no multihit occured.

Returns the probability that there is no multihit. The probability is directly interpolated using a log-log interpolation from the D1 values that are given in the ICT table. The D2 values are not used.

Definition at line 440 of file GCOMInstChars.cpp.

References exp(), GNodeArray::interpolate(), log(), m_d1multi_coeffs, m_d1multi_energies, and GNodeArray::size().

Referenced by GCOMIaq::weight_iaq().

double GCOMInstChars::prob_no_selfveto ( const double &  energy,
const double &  zenith 
) const

Return probability that photon was not self vetoed.

Parameters
[in]energyInput photon energy (MeV).
[in]zenithZenith angle (deg).
Returns
Probability that photon was not self vetoed.

Returns the probability that the photon was not self vetoed. The probability is directly bi-linearly interpolated from the values that are given in the ICT table.

Definition at line 477 of file GCOMInstChars.cpp.

References GNodeArray::inx_left(), GNodeArray::inx_right(), m_selfveto_coeffs, m_selfveto_energies, m_selfveto_zeniths, GNodeArray::set_value(), GNodeArray::size(), GNodeArray::wgt_left(), and GNodeArray::wgt_right().

Referenced by GCOMIaq::weight_iaq().

double GCOMInstChars::psd_correction ( const double &  energy,
const double &  phigeo 
) const

Return PSD correction.

Parameters
[in]energyInput photon energy (MeV).
[in]phigeoGeometrical scatter angle (deg).
Returns
Correction factor due to PSD selection.

Returns the D1 energy dependent PSD correction as described in COM-RP-ROL-DRG-016 and COM-RP-ROL-DRG-35. It applies to a standard PSD selection of 0-110.

The acceptance probability fit formula

\[ P_{\rm acc} = 1 - \frac{1}{a_1 \times E_1^{a_2} + 1} \]

where \(a_1=1727.9\), \(a_2=2.53\) and \(E_1\) is the D1 energy deposit in MeV. Coefficients are taken from Boron calibration data (ZA=1.14) to remain consistent with Rob van Dijk's SIMPSF corrections.

The code implementation is based on the COMPASS RESPSIT2 function PSDACP.F (release 1.0, 11-DEC-92).

Definition at line 887 of file GCOMInstChars.cpp.

References gammalib::com_energy1(), and pow().

Referenced by GCOMIaq::weight_iaq().

void GCOMInstChars::read_coeffs ( const GFitsTable table,
GNodeArray energies,
std::vector< double > &  coeffs 
)
private

Read energy dependent coefficients.

Parameters
[in]tableFITS table.
[out]energiesEnergy node array.
[out]coeffsCoefficients.

Read energy dependent coefficients from FITS table and store their natural logarithm in the energies and coeffs vectors.

Definition at line 1255 of file GCOMInstChars.cpp.

References GNodeArray::append(), GNodeArray::clear(), GFitsTable::contains(), log(), GFitsTable::nrows(), and GFitsTableCol::real().

Referenced by load().

void GCOMInstChars::read_pos ( const GFitsTable table,
std::vector< double > &  x,
std::vector< double > &  y 
)
private

Read module positions.

Parameters
[in]tableFITS table.
[out]xX-positions of module.
[out]yY-positions of module.

Read module positions from FITS table.

Definition at line 1307 of file GCOMInstChars.cpp.

References GFitsTableCol::integer(), GFitsTable::nrows(), and GFitsTableCol::real().

Referenced by load().

void GCOMInstChars::read_selfveto ( const GFitsTable table)
private

Read selfveto coefficients.

Parameters
[in]tableFITS table.

Read selfveto coefficients from FITS table. The selfveto coefficients depend on energy and zenith angle, and the input data are not necessarily regularly sampled. Therefore the method will form a regular grid from the provided values and compute the interpolated values from that grid.

Definition at line 1349 of file GCOMInstChars.cpp.

References abs(), GNodeArray::append(), GNodeArray::clear(), GNodeArray::interpolate(), m_selfveto_coeffs, m_selfveto_energies, m_selfveto_zeniths, GNodeArray::nodes(), GFitsTable::nrows(), GFitsTableCol::real(), and GNodeArray::size().

Referenced by load().

double GCOMInstChars::trans_D1 ( const double &  energy) const

Return transmission above D1.

Parameters
[in]energyInput photon energy (MeV).
Returns
Transmission above D1.

Computes the transmission of material above D1 as function of energy using

\[ T(E) = \exp \left(-\mu(E) l \right) \]

where \(\mu(E)\) is the energy-dependent interaction coefficient for material above D1 in units of \(cm^{-1}\) that is interpolated using a log-log interpolation of the ICT table values, and \(l\) is the thickness of the material above D1 in \(cm\).

Definition at line 318 of file GCOMInstChars.cpp.

References exp(), GNodeArray::interpolate(), log(), m_aboved1_coeffs, m_aboved1_energies, m_abthick, and GNodeArray::size().

Referenced by GCOMIaq::weight_iaq().

double GCOMInstChars::trans_D2 ( const double &  energy,
const double &  phigeo 
) const

Return transmission of material between D1 and D2.

Parameters
[in]energyInput photon energy (MeV).
[in]phigeoGeometrical scatter angle (deg).
Returns
Transmission of material between D1 and D2.

Computes the transmission of material between D1 and D2 as function of energy using

\[ T(E) = \exp \left(\frac{-\mu(E_2) \, l \right) \]

with

\[ E_2 = \frac{E_{\gamma}} {(1 - \cos \varphi_{\rm geo}) \frac{E_{\gamma}}{m_e c^2} + 1} \]

where \(E_{\gamma}\) is the input photon energy in MeV, \(\varphi_{\rm geo}\) is the geometrical scatter angle, \(\mu(E_2)\) is the energy-dependent interaction coefficient of the material between D1 and D2 in units of \(cm^{-1}\) that is interpolated using a log-log interpolation of the ICT table values, and \(l\) is the thickness of the material between D1 and D2 in \(cm\).

Definition at line 562 of file GCOMInstChars.cpp.

References gammalib::com_energy2(), exp(), GNodeArray::interpolate(), log(), m_althick, m_alu_coeffs, m_alu_energies, and GNodeArray::size().

Referenced by GCOMIaq::weight_iaq().

double GCOMInstChars::trans_V1 ( const double &  energy) const

Return V1 veto dome transmission.

Parameters
[in]energyInput photon energy (MeV).
Returns
V1 veto dome transmission.

Computes the V1 veto dome transmission as function of energy using

\[ T(E) = \exp \left(-\mu(E) l \right) \]

where \(\mu(E)\) is the energy-dependent interaction coefficient of the V1 veto dome in units of \(cm^{-1}\) that is interpolated using a log-log interpolation of the ICT table values, and \(l\) is the thickness of the V1 veto dome in \(cm\).

Definition at line 362 of file GCOMInstChars.cpp.

References exp(), GNodeArray::interpolate(), log(), m_v1thick, m_veto_coeffs, m_veto_energies, and GNodeArray::size().

Referenced by GCOMIaq::weight_iaq().

double GCOMInstChars::trans_V23 ( const double &  energy,
const double &  phigeo 
) const

Return V2+V3 veto dome transmission.

Parameters
[in]energyInput photon energy (MeV).
[in]phigeoGeometrical scatter angle (deg).
Returns
V2+V3 veto dome transmission.

Computes the V2+V3 veto dome transmission as function of energy using

\[ T(E) = \exp \left(-\mu(E) \, l \right) \]

\[ E_2 = \frac{E_{\gamma}} {(1 - \cos \varphi_{\rm geo}) \frac{E_{\gamma}}{m_e c^2} + 1} \]

where \(E_{\gamma}\) is the input photon energy in MeV, \(\varphi_{\rm geo}\) is the geometrical scatter angle, \(\mu(E_2)\) is the energy-dependent interaction coefficient of the V2 and V3 veto domes in units of \(cm^{-1}\) that is interpolated using a log-log interpolation of the ICT table values, and \(l\) is the thickness of the V2+V3 veto domes in \(cm\).

Definition at line 614 of file GCOMInstChars.cpp.

References gammalib::com_energy2(), exp(), GNodeArray::interpolate(), log(), m_veto_coeffs, m_veto_energies, m_vthick, and GNodeArray::size().

Referenced by GCOMIaq::weight_iaq().

Member Data Documentation

double GCOMInstChars::m_abdens
private

Density above D1 (g/cm^-3)

Definition at line 128 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

std::vector<double> GCOMInstChars::m_aboved1_coeffs
private

Above D1 attenuation coefficients.

Definition at line 102 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and trans_D1().

GNodeArray GCOMInstChars::m_aboved1_energies
private

Above D1 attenuation coefficient energies (MeV)

Definition at line 101 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and trans_D1().

double GCOMInstChars::m_abthick
private

Thickness above D1 (cm)

Definition at line 129 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and trans_D1().

double GCOMInstChars::m_aldens
private

Density of aluminium plate above D2 (g/cm^-3)

Definition at line 126 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

double GCOMInstChars::m_althick
private

Thickness of aluminium plate above D2 (cm)

Definition at line 127 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and trans_D2().

std::vector<double> GCOMInstChars::m_alu_coeffs
private

Al interaction coefficients.

Definition at line 100 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and trans_D2().

GNodeArray GCOMInstChars::m_alu_energies
private

Al interaction coefficient energies (MeV)

Definition at line 99 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and trans_D2().

GCaldb GCOMInstChars::m_caldb
private

Calibration database.

Definition at line 94 of file GCOMInstChars.hpp.

Referenced by caldb(), copy_members(), init_members(), load(), and print().

double GCOMInstChars::m_d1dens
private

D1 density (g/cm^-3)

Definition at line 118 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

std::vector<double> GCOMInstChars::m_d1inter_coeffs
private

D1 interaction coefficients.

Definition at line 96 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), ne213a_mfpath(), print(), and prob_D1inter().

GNodeArray GCOMInstChars::m_d1inter_energies
private

D1 interaction coefficient energies (MeV)

Definition at line 95 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), ne213a_mfpath(), print(), and prob_D1inter().

std::vector<double> GCOMInstChars::m_d1multi_coeffs
private

D1 multihit attenuation coefficients (probability)

Definition at line 109 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and prob_no_multihit().

GNodeArray GCOMInstChars::m_d1multi_energies
private

D1 multihit attenuation coefficient energies (MeV)

Definition at line 108 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and prob_no_multihit().

std::vector<double> GCOMInstChars::m_d1pos_x
private

D1 x-position (cm)

Definition at line 112 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

std::vector<double> GCOMInstChars::m_d1pos_y
private

D1 y-position (cm)

Definition at line 113 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

double GCOMInstChars::m_d1rad
private

D1 radius (cm)

Definition at line 119 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), multi_scatter(), and print().

double GCOMInstChars::m_d1thick
private

D1 thickness (cm)

Definition at line 120 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), multi_scatter(), print(), and prob_D1inter().

double GCOMInstChars::m_d2dens
private

D2 density (g/cm^-3)

Definition at line 121 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

std::vector<double> GCOMInstChars::m_d2inter_coeffs
private

D2 interaction coefficients.

Definition at line 98 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and prob_D2inter().

GNodeArray GCOMInstChars::m_d2inter_energies
private

D2 interaction coefficient energies (MeV)

Definition at line 97 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and prob_D2inter().

std::vector<double> GCOMInstChars::m_d2multi_coeffs
private

D2 multihit attenuation coefficients (probability)

Definition at line 111 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

GNodeArray GCOMInstChars::m_d2multi_energies
private

D2 multihit attenuation coefficient energies (MeV)

Definition at line 110 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

std::vector<double> GCOMInstChars::m_d2pos_x
private

D2 x-position (cm)

Definition at line 114 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

std::vector<double> GCOMInstChars::m_d2pos_y
private

D2 y-position (cm)

Definition at line 115 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

double GCOMInstChars::m_d2rad
private

D2 radius (cm)

Definition at line 122 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

double GCOMInstChars::m_d2thick
private

D2 thickness (cm)

Definition at line 123 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and prob_D2inter().

double GCOMInstChars::m_delz
private

Distance between D1 and D2 levels (cm)

Definition at line 125 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

std::vector<double> GCOMInstChars::m_mfpath_coeffs
private

NE213A mean free path values.

Definition at line 117 of file GCOMInstChars.hpp.

GNodeArray GCOMInstChars::m_mfpath_energies
private

NE213A mean free path energies (MeV)

Definition at line 116 of file GCOMInstChars.hpp.

std::vector<double> GCOMInstChars::m_selfveto_coeffs
private

Selfveto coefficients (probability)

Definition at line 107 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), print(), prob_no_selfveto(), and read_selfveto().

GNodeArray GCOMInstChars::m_selfveto_energies
private

Selfveto energies (MeV)

Definition at line 105 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), print(), prob_no_selfveto(), and read_selfveto().

GNodeArray GCOMInstChars::m_selfveto_zeniths
private

Selfveto zenith angle (deg)

Definition at line 106 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), print(), prob_no_selfveto(), and read_selfveto().

double GCOMInstChars::m_thbar
private

Average D2 incident angle (deg)

Definition at line 124 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

double GCOMInstChars::m_v1thick
private

Thickness of V1 veto dome (cm)

Definition at line 131 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and trans_V1().

std::vector<double> GCOMInstChars::m_veto_coeffs
private

Veto dome attenuation coefficients.

Definition at line 104 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), trans_V1(), and trans_V23().

GNodeArray GCOMInstChars::m_veto_energies
private

Veto dome attenuation coefficient energies (MeV)

Definition at line 103 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), trans_V1(), and trans_V23().

double GCOMInstChars::m_vetodens
private

Density of veto domes (g/cm^-3)

Definition at line 130 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), and print().

double GCOMInstChars::m_vthick
private

Thickness of V2 and V3 veto domes together (cm)

Definition at line 132 of file GCOMInstChars.hpp.

Referenced by copy_members(), init_members(), load(), print(), and trans_V23().


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