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

PXXPayloadFactory.h

Go to the documentation of this file.
00001 #ifndef __PXXPayloadFactory__H__ 
00002 #define __PXXPayloadFactory__H__
00003 
00012 
00013 #include "payloads-unpacker/base/PXXObject.h"
00014 #include "payloads-unpacker/payloads/PXXVPayload.h"
00015 
00016 class PXXPayloadFactory;
00017 
00018 #ifdef __USEROOT__
00019 typedef PXXPayloadFactory* PXXPayloadFactoryPtr;
00020 #else
00021 typedef shared_ptr<PXXPayloadFactory> PXXPayloadFactoryPtr;
00022 #endif
00023 
00024 class PXXPayloadFactory : public PXXObject {
00025 
00026 public:
00027 
00028    SET_LOGGER("PXXPayloadFactory");
00029 
00034      static const Int32b_t PAYLOAD_ID_UNKNOWN               ;
00035      static const Int32b_t PAYLOAD_ID_SIMPLE_HIT            ;
00036      static const Int32b_t PAYLOAD_ID_MULTI_HIT             ;
00037      static const Int32b_t PAYLOAD_ID_ENGFORMAT_HIT         ;
00038      static const Int32b_t PAYLOAD_ID_TCAL                  ;
00039      static const Int32b_t PAYLOAD_ID_MON                   ;
00040      static const Int32b_t PAYLOAD_ID_ENGFORMAT_TRIGGER     ; 
00041      static const Int32b_t PAYLOAD_ID_ENGFORMAT_HIT_TRIGGER ;
00042      static const Int32b_t PAYLOAD_ID_READOUT_REQUEST       ;
00043      static const Int32b_t PAYLOAD_ID_TRIGGER_REQUEST       ; 
00044      static const Int32b_t PAYLOAD_ID_ENGFORMAT_HIT_DATA    ;
00045      static const Int32b_t PAYLOAD_ID_READOUT_DATA          ;
00046      static const Int32b_t PAYLOAD_ID_EVENT                 ;
00047      static const Int32b_t PAYLOAD_ID_EVENT_V2              ;
00048      static const Int32b_t PAYLOAD_ID_LASTVALID             ;
00049    //------------------------------------------------------------------------------
00050 
00054      virtual ~PXXPayloadFactory();
00055    //------------------------------------------------------------------------------
00056 
00060      static PXXPayloadFactoryPtr GetInstancePtr(); 
00061    //------------------------------------------------------------------------------
00062     
00067      virtual PXXVPayloadPtr CreateAPayload(const PXXPayloadEnvelope &envl);
00068    //------------------------------------------------------------------------------
00069 
00070 protected:
00071 
00075      PXXPayloadFactory();
00076    //------------------------------------------------------------------------------
00077 
00078 private:
00079 
00080    static PXXPayloadFactoryPtr fInstancePtr_; // poInt32b_ter to singleton
00081 
00082    ClassDef(PXXPayloadFactory, 0) // PayloadFactory 
00083 
00084 };
00085 
00086 #endif // __PXXPayloadFactory__H__
00087 


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