Global defines

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