58 GCOMIaq(
const double& phigeo_max,
const double& phigeo_bin_size,
59 const double& phibar_max,
const double& phibar_bin_size);
71 void save(
const GFilename& filename,
const bool& clobber =
false)
const;
86 const double& phibar);
89 const double& phigeo);
101 const double& etrue1,
102 const double& etrue2,
103 const double& phibar,
109 const double& e2max) :
122 double eval(
const double& energy1);
144 const std::vector<double>& values) :
150 double eval(
const double& phigeo);
COMPTEL Instrument Characteristics interface definition.
double m_phigeo_bin_size
Bin size in geometrical scatter angle (deg)
std::string classname(void) const
Return class name.
void compton_kinematics(const double &energy)
Generate IAQ matrix based on Compton kinematics.
double m_norm
Gaussian normalisation.
double m_wgt
Inverse of Gaussian std (1/deg)
double m_phibar_bin_size
Bin size in Compton scatter angle (deg)
Abstract spectral model base class.
double eval(const double &phigeo)
Convolves response with Gaussian kernel.
Interface for the COMPTEL instrument response representation class.
void init_response(void)
Initialise COMPTEL response function and instrument characteristics.
double m_e1min
Minimum D1 energy (MeV)
double m_phigeo
Current phigeo value.
Single precision FITS image class definition.
double m_etrue1
True D1 energy (MeV)
void save(const GFilename &filename, const bool &clobber=false) const
Save COMPTEL instrument response representation into FITS file.
GVector cos(const GVector &vector)
Computes cosine of vector elements.
COMPTEL D2 module response class interface definition.
double m_e1max
Maximum D1 energy (MeV)
smearing_kernel(const double &phigeo, const double &sigma, const GNodeArray &phigeos, const std::vector< double > &values)
double m_phigeo_max
Maximum geometrical scatter angle (deg)
void set(const GEnergy &energy, const GEbounds &ebounds)
Set mono-energetic IAQ.
double m_e1max
Maximum D1 energy (MeV)
double m_sin_phibar
sin(phibar)
GCOMIaq(void)
Void constructor.
std::vector< double > location_spread(const double &zenith) const
Compute location spread vector.
Interface for the COMPTEL Instrument Characteristics class.
double eval(const double &energy1)
Computes product of D1 and D2 responses at energy E1 and phibar.
double m_phibar_resolution
Bin size for oversampling (deg)
double m_phibar_max
Maximum Compton scatter angle (deg)
void klein_nishina(const double &energy)
Multiply IAQ matrix by the Klein-Nishina formula.
void location_smearing(const double &zenith)
Perform location smearing.
double m_e2max
Maximum D2 energy (MeV)
double m_etmin
Minimum total energy (MeV)
double m_e2max
Maximum D2 energy (MeV)
Energy boundaries container class.
Single parameter function abstract base class definition.
Interface for the COMPTEL D2 module response class.
Interface for the COMPTEL D1 module response class.
double compute_iaq_bin(const double &etrue1, const double &etrue2, const double &phibar)
Computes the IAQ for one bin.
double klein_nishina_bin(const double &energy, const double &phigeo)
Computes Klein-Nishina probability for one bin.
Interface class for all GammaLib classes.
GEbounds m_ebounds
Energy boundaries.
GCOMD1Response m_response_d1
D1 module response.
bool m_psd_correct
PSD correction usage flag.
response_kernel(const GCOMD1Response &response_d1, const GCOMD2Response &response_d2, const double &etrue1, const double &etrue2, const double &phibar, const double &etmin, const double &etmax, const double &e1min, const double &e1max, const double &e2min, const double &e2max)
int m_num_energies
Number of energies for continuum IAQ.
GCOMD2Response m_response_d2
D2 module response.
double m_etrue2
True D2 energy (MeV)
double m_e1min
Minimum D1 energy (MeV)
Single precision FITS image class.
COMPTEL D1 module response class interface definition.
GCOMIaq & operator=(const GCOMIaq &iaq)
Assignment operator.
GCOMIaq * clone(void) const
Clone instance.
double m_cos_phibar
cos(phibar)
GCOMInstChars m_ict
Instrument characteristics.
double m_e2min
Minimum D2 energy (MeV)
const GNodeArray & m_phigeos
Geometrical scatter angles.
double m_zenith
Zenith angle for location smearing (deg)
double m_e2min
Minimum D2 energy (MeV)
void free_members(void)
Delete class members.
const GCOMD1Response & m_response_d1
Reference to D1 module response.
Single parameter function abstract base class.
void weight_iaq(const double &energy)
Weight IAQ matrix.
GFitsImageFloat m_iaq
Response.
std::string print(const GChatter &chatter=NORMAL) const
Print COMPTEL instrument response representation information.
GVector sin(const GVector &vector)
Computes sine of vector elements.
Energy boundaries class interface definition.
void init_members(void)
Initialise class members.
void remove_cards(void)
Remove any extra header cards.
~GCOMIaq(void)
Destructor.
const GCOMD2Response & m_response_d2
Reference to D2 module response.
double m_etmax
Maximum total energy (MeV)
void copy_members(const GCOMIaq &iaq)
Copy class members.
void clear(void)
Clear instance.
double klein_nishina_integral(const double &v, const double &a)
Computes Klein-Nishina integral.
Mathematical function definitions.
Class that handles energies in a unit independent way.
const std::vector< double > & m_values
IAQ values.