-
…or the observation Python module. The classname() method returns in a human readable format the class name. This method is needed for full automatic typecasting in Python. Full automatic typecasting has for the moment been implemented for the observation module.
-
Automatic type casting was implemented in the GObservations.i interface using the runtime type casting information that is maintained by the SWIG interface. The function relies on a newly introduced type() method in GObservation that provides as a string the class type. The former GCTAObservation type casting constructor has been removed as it now should be obsolete.
-
The CTA response was refactored. GCTAResponse was renamed GCTAResponseIrf, and GCTAResponse became an abstract base class for all possible CTA response functions. GCTAResponseIrf derives from GCTAResponse. Also GCTAResponseCube derives from GCTAResponse. To make this work, the GObservation::response() method now returns a pointer instead of a reference. The interface definition is such that the pointer never can be NULL. The code has been adapted to comply to this new interface. Upon reading an XML file, GCTAObservation now determines the appropriate reponse type and calls its reader. If no response is specified in the XML file, GCTAResponseIrf will be used by default.
-
Adapt the code to the usage of GCaldb for response access.
-
This change was prompted by the addition of the ctobssim option to apply energy dispersion. Even if an instrument has an energy dispersion, it is useful to be able to apply it or not. So the meaning now is roughly this: use_edisp = (has_edisp && apply_edisp) although the apply_edisp flag has so far been only added to GCTAResponse, use_edisp = False. GResponse::has_tdisp() was also renamed to GResponse::use_tdisp() for consistency.
-
The coding and design conventions (CDC) document was also updated.
-
The GCOMPointing class is now obsolete as no GPointing class is required anymore. The pointing can now simply be stored in a GSkyDir object.
-
The abstract pointing class has been removed as so far no abstract pointing interface is needed.
-
GEvents GEventList The clobber argument of the save() method is now passed as const reference. GEventCube The clobber argument of the save() method and the axis argument of the naxis() method are now passed as const references.
-
The isconstant() method signals if a model is temporally constant or not. This information can be used at an abstract level to perform yes or no a temporal integration of the model.
-
Add GChatter argument to print() method. The print() method now takes an argument of type GChatter to control the chattiness of the output in a homogenous manner. Pass NORMAL chatter level in __str__ method. Add chatter argument to print() methods. Use GLog::chatter() method to control the chattiness of the log stream operator. Add chatter() methods and provide member access through const references. Add chatter() methods, provide member access through const references, and declare one liners as inline methods. The chatter() methods control the new m_chatter attribute that is used to control the chattiness of the object's print() methods. name() and version() methods return const references. logFileOpen() method now sets the chattiness from the applications's chatter parameter, and name() and version() methods now return a const reference.
-
The new method names enhance compatbility with the GPhoton interface and increases the readability.
-
Instead of using the observed and true attributes of the event and photon as arguments, the event and photon is now passed directly.
-
DRE file attributes are now correctly read, and the deadtime is fixed to 15%. A kluge has been added to digest the corrupt GSFC files (their WCS definiton is incorrect).
-
The IAQ file gives probabilities per Phigeo bin. To directly use the IAQ for the response calculation, the IAQ values are renormalized so that they are given per steradian. The code has been inspired from the original COMPTEL code (diffit routine setiaq.f). The irf() method was implement to obtained the point spread response function. The method has been inspired from the diffit routine iaqval.f. So far, no speed optimization has been performed. The primary goal of this commit was to get the functionnality.
-
Initial methods for handling DRB, DRG and DRX files have been implemented, yet no testing is performed so far to verify that the dimensions are compatible.
-
This initial version implement reading and writing of the model parameters and the eval and eval_gradient methods.
-
Add bin index to the members of the method so that in case that the bin is contained in an event cube we known the index of the bin. This is used to extract the corresponding DRG and DRB values.
-
From the semantics, the isin() method name was wrong (as one would write ebounds.isin(energy)). Renaming the method to contains() corrects the semantics (ebounds.contains(energy)).
-
The environment variable CALDB may conflict with an existing Fermi CALDB environment variable. I therefore introduced a GAMMALIB_CALDB environment variable that takes precedence over CALDB. The GAMMALIB_CALDB environement variable will be used in the initialisation script, so that conflicts are solved. One can always change this environment variable later, or undefine it so that CALDB will be used. The GCaldb initialisation constructor will first search for GAMMALIB_CALDB, and only if the environment variable is not found it will search for CALDB.