/** @file * $Source: /afs/ba.infn.it/user/pamela/src/CVS/yoda/event/PacketType.h,v $ * $Id: PacketType.h,v 6.4 2006/09/29 10:19:12 mocchiut Exp $ * $Author: mocchiut $ * * Header file for the PacketType class. */ #ifndef PACKETTYPE_H #define PACKETTYPE_H #include #include #include //Substituted by Maurizio 05 Feb 2004 namespace pamela { /** * The type of a packet type. */ class PacketType { private: /** * A magic number to distinguish between the Packets. A "packet * type" is central for the whole YODA analysis package. The data * flow within YODA is organized within different streams which * are distinguished by their "packet type". The main data stream * has the package type "Physics" that handles all physics * events. Other important types are "Housekeeping" and * "Calibration". The different package type originate in the * differnet package types in the raw data file and correspond to * them. */ int Magic; /** * The name of the packet type. */ std::string Name; protected: PacketType(int, std::string); virtual const char* Print(void) const { return "Packet Type"; } virtual ~PacketType(); public: /** * Get the name of the packet type */ const std::string GetName(void) const { return Name; } /** * Get the magic number of the packet type */ const int GetMagic(void) const { return Magic; } static const PacketType* Pscu; /**< Pscu event packets */ static const PacketType* PhysEndRun; static const PacketType* CalibCalPulse1; static const PacketType* CalibCalPulse2; static const PacketType* Physics; static const PacketType* CalibTrkBoth; static const PacketType* CalibTrk1; static const PacketType* CalibTrk2; static const PacketType* CalibTof; static const PacketType* CalibS4; static const PacketType* CalibCalPed; static const PacketType* Calib1_Ac1; static const PacketType* Calib2_Ac1; static const PacketType* Calib1_Ac2; static const PacketType* Calib2_Ac2; static const PacketType* CalibCal; static const PacketType* RunHeader; static const PacketType* RunTrailer; static const PacketType* CalibHeader; static const PacketType* CalibTrailer; static const PacketType* InitHeader; static const PacketType* InitTrailer; static const PacketType* EventTrk; static const PacketType* Log; static const PacketType* VarDump; static const PacketType* ArrDump; static const PacketType* TabDump; static const PacketType* Tmtc; static const PacketType* Mcmd; static const PacketType* ForcedFECmd; static const PacketType* Ac1Init; static const PacketType* CalInit; static const PacketType* TrkInit; static const PacketType* TofInit; static const PacketType* TrgInit; static const PacketType* NdInit; static const PacketType* S4Init; static const PacketType* Ac2Init; static const PacketType* CalAlarm; static const PacketType* Ac1Alarm; static const PacketType* TrkAlarm; static const PacketType* TrgAlarm; static const PacketType* TofAlarm; static const PacketType* S4Alarm; static const PacketType* Ac2Alarm; static const PacketType* TsbT; static const PacketType* TsbB; static const PacketType* Invalid; ClassDef(PacketType, 6) }; } #endif /* PACKETTYPE_H */