HEASP uses the include file “heasp.h” to set a number of global definitions.
typedef int Integer; typedef double Real;
set Integer and Real which are used in all classes. It also sets a couple of helpful definitions.
typedef vector<Integer> IntegerArray; typedef valarray<Real> RealArray;
This include file also contains the enumeration all error statuses.
enum{OK, NoSuchFile, NoData, NoChannelData, NoStatError, CannotCreate,
NoEnergLo, NoEnergHi, NoSpecresp, NoEboundsExt, NoEmin, NoEmax,
NoMatrixExt, NoNgrp, NoFchan, NoNchan, NoMatrix, CannotCreateMatrixExt,
CannotCreateEboundsExt, InconsistentGrouping, InconsistentEnergies,
InconsistentChannels, InconsistentUnits, UnknownXUnits, UnknownYUnits,
InconsistentNumelt, InconsistentNumgrp, InconsistentNumTableParams,
TableParamValueOutsideRange, VectorIndexOutsideRange,
InconsistentKeywordValues, CannotCopyColumn, CannotWriteMatrix,
InconsistentTableFilter, NoChannels, InconsistentChannelMin,
InconsistentFChan, InconsistentNChan};
It also has some handy conversion factors.
#define KEVTOA 12.3984191 #define KEVTOHZ 2.4179884076620228e17 #define KEVTOERG 1.60217733e-9 #define KEVTOJY 1.60217733e14