00001 #ifndef FECREADOUTFORMAT_FECDATA_H
00002 #define FECREADOUTFORMAT_FECDATA_H
00003
00004 #include "FecReadoutFormat/FecBuffer.h"
00005
00006
00007 namespace DybDaq{
00008 class FecReadout;
00009 }
00010
00011
00012 namespace DybDaq {
00013
00014 class FecData : public FecBuffer
00015 {
00016
00017 public :
00018
00019 friend class FecReadout;
00020
00021
00022 virtual ~FecData();
00023
00024
00025 unsigned int rpcCFId() const;
00026
00027
00028 unsigned int rpcFecId() const;
00029
00030
00031 bool transErr1() const;
00032 bool transErr2() const;
00033
00034
00035 unsigned int trigType() const;
00036
00037
00038 bool fullFlag() const;
00039
00040
00041 bool validGPS() const;
00042
00043
00044 bool validCLK() const;
00045
00046
00047 bool usingUTC() const;
00048
00049
00050 unsigned int second() const;
00051
00052
00053 unsigned int nanoSecond() const;
00054
00055
00056 unsigned int hitMap() const;
00057
00058
00059 virtual unsigned int bufferSize() const;
00060
00061 protected:
00062
00063
00064 virtual unsigned int formatComponent() const;
00065
00066 private :
00067
00068
00069 FecData(const unsigned int rpcCFId,
00070 const unsigned int rpcFecId,
00071 const bool transErr1,
00072 const bool transErr2,
00073 const unsigned int trigType,
00074 const bool fullFlag,
00075 const bool validGPS,
00076 const bool validCLK,
00077 const bool usingUTC,
00078 const unsigned int second,
00079 const unsigned int nanoSecond,
00080 const unsigned int hitMap,
00081 const FecTraits& traits);
00082
00083 FecData(const ByteBuffer& byteBuffer,
00084 const FecTraits& traits);
00085
00086
00087 FecData();
00088 FecData(const FecData&);
00089 FecData& operator=(const FecData&);
00090
00091
00092
00093 void setRpcCFId(const unsigned int rpcCFId);
00094
00095 void setRpcFecId(const unsigned int rpcFecId);
00096
00097 void setTransErr1(const bool transErr1);
00098 void setTransErr2(const bool transErr2);
00099
00100 void setTrigType(const unsigned int trigType);
00101
00102 void setFullFlag(const bool fullFlag);
00103
00104 void setValidGPS(const bool validGPS);
00105
00106 void setValidCLK(const bool validCLK);
00107
00108 void setUsingUTC(const bool usingUTC);
00109
00110 void setSecond(const unsigned int second);
00111
00112 void setNanoSecond(const unsigned int nanoSecond);
00113
00114 void setHitMap(const unsigned int hitMap);
00115
00116 };
00117
00118 }
00119
00120 #endif