| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

FecData.h

Go to the documentation of this file.
00001 #ifndef FECREADOUTFORMAT_FECDATA_H
00002 #define FECREADOUTFORMAT_FECDATA_H
00003 
00004 #include "FecReadoutFormat/FecBuffer.h"
00005 
00006 // pre-declaration
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    // Destructor
00022    virtual ~FecData();
00023 
00024    // Get the RPC CF ID
00025    unsigned int rpcCFId() const;
00026 
00027    // Get the RPC FEC ID
00028    unsigned int rpcFecId() const;
00029 
00030    // Get the status for transfer error
00031    bool transErr1() const;  //CF -> IF
00032    bool transErr2() const;  //FEC -> CF
00033 
00034    // Get the trigger type flags
00035    unsigned int trigType() const;
00036 
00037    // Get the full flag
00038    bool fullFlag() const;
00039 
00040    // GPS is valid if true
00041    bool validGPS() const;
00042 
00043    // Clock System is valid if true
00044    bool validCLK() const;
00045 
00046    // Using UTC if true
00047    bool usingUTC() const;
00048 
00049    // Get the time second
00050    unsigned int second() const;
00051 
00052    // Get the time nano-second
00053    unsigned int nanoSecond() const;
00054 
00055    // Get the hit map
00056    unsigned int hitMap() const;
00057 
00058    // Returns the size, in 4-bytes, of this ojbect's contents in the buffer.
00059    virtual unsigned int bufferSize() const;
00060 
00061 protected:
00062     
00063    // Returns the component with the format of this buffer.
00064    virtual unsigned int formatComponent() const;
00065     
00066 private :
00067 
00068    // Constructors
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    // Following interfaces are suppressed by default
00087    FecData();
00088    FecData(const FecData&);
00089    FecData& operator=(const FecData&);
00090 
00091 
00092    // Interfaces for setting
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
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:07:52 2011 for FecReadoutFormat by doxygen 1.4.7