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

PXXCompositePayloadEnvelope.h

Go to the documentation of this file.
00001 #ifndef __PXXCompositePayloadEnvelope__H__
00002 #define __PXXCompositePayloadEnvelope__H__
00003 
00021 
00022 #include "payloads-unpacker/payloads/PXXVUnpackable.h"
00023 
00024 class PXXCompositePayloadEnvelope : public PXXVUnpackable
00025 {
00026 public:
00027 
00028    SET_LOGGER("PXXCompositePayloadEnvelope");
00029 
00033      PXXCompositePayloadEnvelope();
00034    //------------------------------------------------------------------------------
00035 
00039      virtual ~PXXCompositePayloadEnvelope() {}
00040    //------------------------------------------------------------------------------
00041    
00047      virtual Int32b_t   GetCompositePayloadLength() const;
00048    //------------------------------------------------------------------------------
00049 
00057      virtual Short16b_t GetCompositePayloadType() const;
00058    //------------------------------------------------------------------------------
00059 
00065      virtual Short16b_t GetNumberOfPayloads() const;
00066    //------------------------------------------------------------------------------
00067 
00072      virtual Int32b_t  GetEnvelopeSize() const { return kIEnvelopeSize_; }
00073    //------------------------------------------------------------------------------
00074 
00078      virtual void WriteProperties();
00079    //------------------------------------------------------------------------------
00080 
00081 private:
00082 
00091      virtual Int32b_t ReadData();
00092    //------------------------------------------------------------------------------
00093 
00094 private:
00095 
00096    static const Int32b_t kIEnvelopeSize_ = 8; // Fixed 8, see class description
00097    
00098    Int32b_t       fICompositePayloadLength_ ; // length (with envelope)
00099    Short16b_t     fSCompositePayloadType_ ;   // Type of composite payload
00100    Short16b_t     fSNumberOfPayloads_;        // number of enclosed payloads
00101 
00102    ClassDef(PXXCompositePayloadEnvelope, 0) // interface of payloads
00103 
00104 };
00105 
00106 #ifdef __USEROOT__       // compile with ROOT
00107 typedef PXXCompositePayloadEnvelope*  PXXCompositePayloadEnvelopePtr;
00108 #else                    // compile with IceTray
00109 typedef shared_ptr<PXXCompositePayloadEnvelope> PXXCompositePayloadEnvelopePtr;
00110 #endif
00111 
00112 #endif // PXXIPAYLOAD_H


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