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

PXXICompositePayload.h

Go to the documentation of this file.
00001 #ifndef __PXXICompositePayload__H__
00002 #define __PXXICompositePayload__H__
00003 
00017 
00018 
00019 #include "payloads-unpacker/base/PXXTypes.h"
00020 #include "payloads-unpacker/base/PXXPointerCasts.h"
00021 #include "payloads-unpacker/payloads/PXXIHitPayload.h"
00022 #include "payloads-unpacker/payloads/PXXIPayload.h"
00023 
00024 #include <vector>
00025 using namespace std;
00026 
00027 class PXXICompositePayload
00028 {
00029 
00030 public:
00031 
00037      virtual ~PXXICompositePayload(){}
00038    //------------------------------------------------------------------------------
00039 
00043      virtual const PXXIUTCTime &GetFirstTimeUTC() = 0;
00044    //------------------------------------------------------------------------------
00045 
00049      virtual const PXXIUTCTime &GetLastTimeUTC() = 0;
00050    //------------------------------------------------------------------------------
00051 
00056      virtual const PXXIUTCTime &GetPayloadTimeUTC() { return GetFirstTimeUTC(); }
00057    //------------------------------------------------------------------------------
00058 
00059 
00063      virtual const vector<PXXIPayloadPtr> &GetPayloadPtrs() const = 0;
00064    //------------------------------------------------------------------------------
00065 
00070      virtual const vector<PXXIHitPayloadPtr> &GetHitPtrs() const = 0;
00071    //------------------------------------------------------------------------------
00072 
00073 protected:
00074 
00079      PXXICompositePayload();  
00080    //------------------------------------------------------------------------------
00081 
00082 private:
00083 
00084 
00085    ClassDef(PXXICompositePayload, 0) // interface of composite payloads
00086 
00087 };
00088 
00089 #ifdef __USEROOT__       // compile with ROOT
00090 typedef PXXIPayload* PXXIPayloadPtr;
00091 #else                    // compile with IceTray
00092 #include "dataclasses/StoragePolicy.h"
00093 typedef shared_ptr<PXXIPayload> PXXIPayloadPtr;
00094 #endif
00095 
00096 #endif // __PXXICompositePayload__H__


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