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

PXXVCompositePayload.h

Go to the documentation of this file.
00001 #ifndef __PXXVCompositePayload__H__
00002 #define __PXXVCompositePayload__H__
00003 
00014 
00015 #include "payloads-unpacker/payloads/PXXVTriggerPayload.h"
00016 #include "payloads-unpacker/payloads/PXXICompositePayload.h"
00017 #include "payloads-unpacker/payloads/PXXCompositePayloadEnvelope.h"
00018 #include <vector>
00019 using namespace std;
00020 
00021 class PXXVCompositePayload : public PXXVTriggerPayload, public PXXICompositePayload
00022 {
00023 public:
00024 
00028      virtual ~PXXVCompositePayload();
00029    //------------------------------------------------------------------------------
00030    
00034      virtual const PXXCompositePayloadEnvelope &GetCompositePayloadEnvelope()
00035                                                { return fTCompositeEnvelope_; }
00036    //------------------------------------------------------------------------------
00037 
00041      virtual const vector<PXXIPayloadPtr> &GetPayloadPtrs() const 
00042                                            { return fPayloadPtrs_;}
00043    //------------------------------------------------------------------------------
00044 
00049      virtual const vector<PXXIHitPayloadPtr> &GetHitPtrs() const { return fHitPtrs_;}
00050    //------------------------------------------------------------------------------
00051    
00055      virtual void WriteCompositePayload();
00056    //------------------------------------------------------------------------------
00057 
00058 protected:
00059 
00063      PXXVCompositePayload(const PXXPayloadEnvelope &envelope);
00064    //------------------------------------------------------------------------------
00065 
00070      PXXVCompositePayload();
00071    //------------------------------------------------------------------------------
00072 
00077      virtual Int32b_t UnpackCompositePayloadEnvelope();
00078    //------------------------------------------------------------------------------
00079    
00084      virtual Int32b_t UnpackCompositePayload();
00085    //------------------------------------------------------------------------------
00086    
00090      virtual vector<PXXIPayloadPtr>    &GetPayloadPtrs() { return fPayloadPtrs_; }
00091      virtual vector<PXXIHitPayloadPtr> &GetHitPtrs()     { return fHitPtrs_; }
00092    //------------------------------------------------------------------------------
00093 
00094 private:
00095 
00096    PXXCompositePayloadEnvelope fTCompositeEnvelope_; // composite payload envelope
00097    vector<PXXIPayloadPtr>      fPayloadPtrs_;        // it owns the payloads.
00098    vector<PXXIHitPayloadPtr>   fHitPtrs_;            // it DOESN'T own the hit list.
00099 
00100    ClassDef(PXXVCompositePayload, 0) // interface of payloads
00101 
00102 };
00103 
00104 #ifdef __USEROOT__       // compile with ROOT
00105 typedef PXXVCompositePayload*  PXXVCompositePayloadPtr;
00106 #else                    // compile with IceTray
00107 typedef shared_ptr<PXXVCompositePayload> PXXVCompositePayloadPtr;
00108 #endif
00109 
00110 #endif // PXXIPAYLOAD_H


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