Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

PXXReadoutRequestRecord.h

Go to the documentation of this file.
00001 #ifndef PXXReadoutRequestRecord__H__
00002 #define PXXReadoutRequestRecord__H__
00003 
00010 
00011 #include "payloads-unpacker/payloads/PXXVRecord.h"
00012 #include "payloads-unpacker/payloads/PXXIReadoutRequest.h"
00013 #include "payloads-unpacker/payloads/PXXSourceID4B.h"
00014 #include "payloads-unpacker/payloads/PXXReadoutRequestElementRecord.h"
00015 #include <vector>
00016 using namespace std;
00017 
00018 class PXXReadoutRequestRecord : public PXXVRecord, public PXXIReadoutRequest
00019 {
00020 public:
00021 
00022    SET_LOGGER("PXXReadoutRequestRecord");
00023 
00027      PXXReadoutRequestRecord();
00028    //------------------------------------------------------------------------------
00029 
00033      virtual ~PXXReadoutRequestRecord();
00034    //------------------------------------------------------------------------------
00035 
00039      virtual Int32b_t GetTriggerUID() const;
00040    //------------------------------------------------------------------------------
00041 
00045      virtual const PXXISourceID& GetSourceID();
00046    //------------------------------------------------------------------------------
00047 
00051      virtual Int32b_t GetNumberOfRequestElements() const;
00052    //------------------------------------------------------------------------------
00053 
00059      virtual const vector<PXXIReadoutRequestElementPtr> GetReadoutRequestElements();
00060    //------------------------------------------------------------------------------
00061 
00065      virtual void WriteProperties();
00066    //------------------------------------------------------------------------------
00067 
00068 private:
00069 
00080      virtual Int32b_t ReadData();
00081    //------------------------------------------------------------------------------
00082 
00083 private:
00084 
00085    Int32b_t       fITriggerUID_;               // type of the trigger 
00086    PXXSourceID4B  fTSourceID_;                 // ID of the Source
00087    Int32b_t       fINumberOfRequestElements_;  // number of elements 
00088    vector<PXXIReadoutRequestElementPtr> fReadoutRequestElements_; // elements
00089 
00090    ClassDef(PXXReadoutRequestRecord, 0) // interface to HitPayload
00091    
00092 };
00093 
00094 #ifdef __USEROOT__       // compile with ROOT
00095 typedef PXXReadoutRequestRecord*  PXXReadoutRequestRecordPtr;
00096 #else                    // compile with IceTray
00097 typedef shared_ptr<PXXReadoutRequestRecord> PXXReadoutRequestRecordPtr;
00098 #endif
00099 
00100 #endif // PXXReadoutRequestRecord_H


Generated on Thu Nov 10 14:06:35 2005 by doxygen version 1.4.1