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 some helpful definitions of vectors and arrays
typedef std::valarray<Real> RealArray; typedef std::vector<Real> RealVector; typedef std::vector<Integer> IntegerVector; typedef std::vector<string> StringVector;
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};