/** \file Declaration of AugerKey \author Stefano Argirņ Antoine Letessier-Selvon */ #ifndef __AugerKey_h_ #define __AugerKey_h_ #include "cdas_config.h" #include #include /** * \class AugerKey AugerKey.h "/AugerKey.h" * * \brief A key to retrive objects of kind AugerEvent from AugerEventFile * Currently the only available indexing is by EventId * */ class AugerKey { public: enum EventType { eSdOnly, eFdOnly, eHybrid, #ifdef HAVE_IOMD eXdOnly, //surface-extended (MD + SD only) eXHybrid,//hybrid-extended (SD+MD+FD) #endif #ifdef HAVE_IORD eXRMHybrid,//radio-hybrid-extended (SD+RD+FD+MD) eXRM,//radio-surface-md-extended (SD+RD+MD) eXRHybrid,//radio-surface-FD-extended (SD+RD+FD) eXRdFd, //radio-FD-extended (RD + FD only) eXRdSd, //radio-SD-extended (RD + SD only) #endif eLaser, eFdLaser, eNone }; AugerKey(); /// Create the key for the event AugerKey(AugerEvent & event); /// generate the string for this key std::string AsString(); AugerEventId EventId; unsigned int NumberOfStations; unsigned int NumberOfEyes; unsigned int NumberOfPixels; /// Bit field with the id of the eyes unsigned int EyesId; //Sd gps time if the events is not raw UInt_t EventSecond; /// Sd Trigger Algo string if Sd event exits std::string SdTriggerAlgo; EventType Type; private: static const unsigned int fgNTypes = eNone + 1; static const std::string fgStringTypes[fgNTypes]; } ; // AugerKey #endif // __AugerKey_h_