| 1 |
/** @file
|
| 2 |
* $Source: /afs/ba.infn.it/user/pamela/src/CVS/quicklook/OrbitalRate/inc/PacketType.h,v $
|
| 3 |
* $Id: PacketType.h,v 1.1 2006/12/05 19:49:14 pam-rm2 Exp $
|
| 4 |
* $Author: pam-rm2 $
|
| 5 |
*
|
| 6 |
* Header file for the PacketType class.
|
| 7 |
*/
|
| 8 |
#ifndef PACKETTYPE_H
|
| 9 |
#define PACKETTYPE_H
|
| 10 |
#include <string>
|
| 11 |
#include <sstream>
|
| 12 |
#include <Rtypes.h> //Substituted by Maurizio 05 Feb 2004
|
| 13 |
|
| 14 |
namespace pamela {
|
| 15 |
/**
|
| 16 |
* The type of a packet type.
|
| 17 |
*/
|
| 18 |
class PacketType {
|
| 19 |
private:
|
| 20 |
/**
|
| 21 |
* A magic number to distinguish between the Packets. A "packet
|
| 22 |
* type" is central for the whole YODA analysis package. The data
|
| 23 |
* flow within YODA is organized within different streams which
|
| 24 |
* are distinguished by their "packet type". The main data stream
|
| 25 |
* has the package type "Physics" that handles all physics
|
| 26 |
* events. Other important types are "Housekeeping" and
|
| 27 |
* "Calibration". The different package type originate in the
|
| 28 |
* differnet package types in the raw data file and correspond to
|
| 29 |
* them.
|
| 30 |
*/
|
| 31 |
int Magic;
|
| 32 |
/**
|
| 33 |
* The name of the packet type.
|
| 34 |
*/
|
| 35 |
std::string Name;
|
| 36 |
protected:
|
| 37 |
PacketType(int, std::string);
|
| 38 |
virtual const char* Print(void) const { return "Packet Type"; }
|
| 39 |
virtual ~PacketType();
|
| 40 |
public:
|
| 41 |
/**
|
| 42 |
* Get the name of the packet type
|
| 43 |
*/
|
| 44 |
const std::string GetName(void) const { return Name; }
|
| 45 |
/**
|
| 46 |
* Get the magic number of the packet type
|
| 47 |
*/
|
| 48 |
const int GetMagic(void) const { return Magic; }
|
| 49 |
|
| 50 |
static const PacketType* Pscu; /**< Pscu event packets */
|
| 51 |
static const PacketType* PhysEndRun;
|
| 52 |
static const PacketType* CalibCalPulse1;
|
| 53 |
static const PacketType* CalibCalPulse2;
|
| 54 |
static const PacketType* Physics;
|
| 55 |
static const PacketType* CalibTrkBoth;
|
| 56 |
static const PacketType* CalibTrk1;
|
| 57 |
static const PacketType* CalibTrk2;
|
| 58 |
static const PacketType* CalibTof;
|
| 59 |
static const PacketType* CalibS4;
|
| 60 |
static const PacketType* CalibCalPed;
|
| 61 |
static const PacketType* Calib1_Ac1;
|
| 62 |
static const PacketType* Calib2_Ac1;
|
| 63 |
static const PacketType* Calib1_Ac2;
|
| 64 |
static const PacketType* Calib2_Ac2;
|
| 65 |
static const PacketType* CalibCal;
|
| 66 |
static const PacketType* RunHeader;
|
| 67 |
static const PacketType* RunTrailer;
|
| 68 |
static const PacketType* CalibHeader;
|
| 69 |
static const PacketType* CalibTrailer;
|
| 70 |
static const PacketType* InitHeader;
|
| 71 |
static const PacketType* InitTrailer;
|
| 72 |
static const PacketType* EventTrk;
|
| 73 |
static const PacketType* Log;
|
| 74 |
static const PacketType* VarDump;
|
| 75 |
static const PacketType* ArrDump;
|
| 76 |
static const PacketType* TabDump;
|
| 77 |
static const PacketType* Tmtc;
|
| 78 |
static const PacketType* Mcmd;
|
| 79 |
static const PacketType* ForcedFECmd;
|
| 80 |
static const PacketType* Ac1Init;
|
| 81 |
static const PacketType* CalInit;
|
| 82 |
static const PacketType* TrkInit;
|
| 83 |
static const PacketType* TofInit;
|
| 84 |
static const PacketType* TrgInit;
|
| 85 |
static const PacketType* NdInit;
|
| 86 |
static const PacketType* S4Init;
|
| 87 |
static const PacketType* Ac2Init;
|
| 88 |
static const PacketType* CalAlarm;
|
| 89 |
static const PacketType* Ac1Alarm;
|
| 90 |
static const PacketType* TrkAlarm;
|
| 91 |
static const PacketType* TrgAlarm;
|
| 92 |
static const PacketType* TofAlarm;
|
| 93 |
static const PacketType* S4Alarm;
|
| 94 |
static const PacketType* Ac2Alarm;
|
| 95 |
static const PacketType* TsbT;
|
| 96 |
static const PacketType* TsbB;
|
| 97 |
static const PacketType* Invalid;
|
| 98 |
|
| 99 |
ClassDef(PacketType, 6)
|
| 100 |
};
|
| 101 |
}
|
| 102 |
|
| 103 |
#endif /* PACKETTYPE_H */
|