/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/RawDataCnv/RawDataCnv-00-04-35/RawDataCnv/RawDataMcParticleCnv.h

Go to the documentation of this file.
00001 //====================================================================
00002 //      RawDataMcParticleCnv.h
00003 //====================================================================
00004 //
00005 // Description:
00006 //      RawDataMcParticleCnv is the concrete converter for 
00007 //      the event on the TDS /Event/MC/McParticleCol
00008 //
00009 //--------------------------------------------------------------------
00010 
00011 #ifndef RAWDATA_MCPARTICLE_CNV_H
00012 #define RAWDATA_MCPARTICLE_CNV_H
00013 
00014 // Include files.
00015 #include "GaudiKernel/Converter.h"
00016 
00017 #include "RawDataCnvBase/RawDataBaseCnv.h"
00018 #include "RawDataCnv/ClassID_temp.h" 
00019 #include "RawDataCnv/PackedRawDataCnvSvc.h" 
00020 #include "RawDataCnv/EventManagement/McTruthDataStructure.h"
00021 #include "RawDataCnv/EventManagement/McParticleBuilder.h"
00022 
00023 // Forward declarations.
00024 class IOpaqueAddress;
00025 class DataObject;
00026 class StatusCode;
00027 class IRawDataInputSvc;
00028 
00029 // Converter Factory to create instances of this class.
00030 template <class TYPE> class CnvFactory;
00031 
00032 class RawDataMcParticleCnv : public RawDataBaseCnv 
00033 { 
00034 
00035    // Declaration of a Converter Factory to create instances of this class.
00036    friend class CnvFactory<RawDataMcParticleCnv>;
00037 protected:
00038    // Standard Constructor.
00039    RawDataMcParticleCnv(ISvcLocator* svc);
00040 public:
00041    StatusCode initialize();
00042    
00043    // Return the class type of this converter.
00044    static const CLID& classID();
00045 
00046    virtual long repSvcType() const {
00047       return PACKEDRAWEVENT_StorageType;
00048    }
00049  
00050    static const unsigned char storageType() {
00051       return PACKEDRAWEVENT_StorageType;
00052    }
00053 
00054    // Create a converted object in the Transient Data Store.
00055    StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj); 
00056 
00058    virtual StatusCode updateObj(IOpaqueAddress* pAddr, DataObject* pObj);
00059 
00060    virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr);  
00061 
00062 private:
00063 
00064    void addMother(McParticle* currentParticle, McParticleCol *particleCol);
00065 
00066    IRawDataInputSvc*  m_inputSvc;
00068    PackedRawDataCnvSvc* m_RawDataAccess;
00070    McParticleBuilder  m_mcParticleBuilder;
00071 
00072 };
00073 
00074 #endif // RAWDATA_MCPARTICLE_CNV_H

Generated on Tue Nov 29 22:58:31 2016 for BOSS_7.0.2 by  doxygen 1.4.7