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

PXXVPayload.h

Go to the documentation of this file.
00001 #ifndef __PXXVPayload__H__
00002 #define __PXXVPayload__H__
00003 
00014 
00015 #include "payloads-unpacker/payloads/PXXVUnpackable.h"
00016 #include "payloads-unpacker/payloads/PXXIPayload.h"
00017 #include "payloads-unpacker/payloads/PXXUTCTime8B.h"
00018 #include "payloads-unpacker/payloads/PXXPayloadEnvelope.h"
00019 #include <limits>
00020 
00021 class PXXVPayload : public PXXVUnpackable, public PXXIPayload
00022 {
00023 public:
00024 
00028      virtual ~PXXVPayload();
00029    //------------------------------------------------------------------------------
00030 
00034      virtual Int32b_t GetPayloadLength() const;
00035    //------------------------------------------------------------------------------
00036 
00041      virtual Int32b_t GetPayloadType() const;
00042    //------------------------------------------------------------------------------
00043 
00049      virtual Int32b_t GetPayloadInterfaceType() const;
00050    //------------------------------------------------------------------------------
00051 
00055      virtual const PXXIUTCTime& GetPayloadTimeUTC(); 
00056    //------------------------------------------------------------------------------
00057 
00062      virtual Int32b_t Unpack();
00063    //------------------------------------------------------------------------------
00064 
00069      virtual const PXXPayloadEnvelope &GetEnvelope() const  { return fTEnvelope_; }
00070    //------------------------------------------------------------------------------
00071 
00072 protected:
00073    
00077      PXXVPayload(const PXXPayloadEnvelope &envelope);
00078    //------------------------------------------------------------------------------
00079    
00084      PXXVPayload();
00085    //------------------------------------------------------------------------------
00086    
00091      virtual void SetEnvelope(const PXXPayloadEnvelope &env) { fTEnvelope_ = env; }
00092    //------------------------------------------------------------------------------
00093 
00098      virtual PXXPayloadEnvelope &GetEnvelope() { return fTEnvelope_; }
00099    //------------------------------------------------------------------------------
00100 
00101 protected:
00102 
00106      virtual void SetPayloadTimeUTC(const PXXUTCTime8B &t) { fTPayloadTimeUTC_ = t; }
00107    //------------------------------------------------------------------------------
00108 
00109 private:
00110 
00111    PXXPayloadEnvelope  fTEnvelope_;       // payload envelope of the payload
00112    PXXUTCTime8B        fTPayloadTimeUTC_; // pointer to IUTCTime
00113 
00114    ClassDef(PXXVPayload, 0) // interface of payloads
00115 
00116 };
00117 
00118 #ifdef __USEROOT__       // compile with ROOT
00119 typedef PXXVPayload*  PXXVPayloadPtr;
00120 #else                    // compile with IceTray
00121 typedef shared_ptr<PXXVPayload> PXXVPayloadPtr;
00122 #endif
00123 
00124 #endif // PXXIPAYLOAD_H


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