BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/RawDataCnv/RawDataCnv/RawDataMcParticleCnv.h
Go to the documentation of this file.
1//====================================================================
2// RawDataMcParticleCnv.h
3//====================================================================
4//
5// Description:
6// RawDataMcParticleCnv is the concrete converter for
7// the event on the TDS /Event/MC/McParticleCol
8//
9//--------------------------------------------------------------------
10
11#ifndef RAWDATA_MCPARTICLE_CNV_H
12#define RAWDATA_MCPARTICLE_CNV_H
13
14// Include files.
15#include "GaudiKernel/Converter.h"
16
17#include "RawDataCnvBase/RawDataBaseCnv.h"
18#include "RawDataCnv/ClassID_temp.h"
19#include "RawDataCnv/PackedRawDataCnvSvc.h"
20#include "RawDataCnv/EventManagement/McTruthDataStructure.h"
21#include "RawDataCnv/EventManagement/McParticleBuilder.h"
22
23// Forward declarations.
24class IOpaqueAddress;
25class DataObject;
26class StatusCode;
28
29// Converter Factory to create instances of this class.
30template <class TYPE> class CnvFactory;
31
33{
34
35 // Declaration of a Converter Factory to create instances of this class.
36 friend class CnvFactory<RawDataMcParticleCnv>;
37protected:
38 // Standard Constructor.
39 RawDataMcParticleCnv(ISvcLocator* svc);
40public:
41 StatusCode initialize();
42
43 // Return the class type of this converter.
44 static const CLID& classID();
45
46 virtual long repSvcType() const {
48 }
49
50 static const unsigned char storageType() {
52 }
53
54 // Create a converted object in the Transient Data Store.
55 StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj);
56
57 /// override the RawDataBaseCnv version
58 virtual StatusCode updateObj(IOpaqueAddress* pAddr, DataObject* pObj);
59
60 virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr);
61
62private:
63
64 void addMother(McParticle* currentParticle, McParticleCol *particleCol);
65
66 IRawDataInputSvc* m_inputSvc;
67 /// Define the interface to raw data cnv
68 PackedRawDataCnvSvc* m_RawDataAccess;
69 /// MdcBuilder for packing or unpacking data
70 McParticleBuilder m_mcParticleBuilder;
71
72};
73
74#endif // RAWDATA_MCPARTICLE_CNV_H
The Monte Carlo particle kinematics information.
static const CLID & classID()
StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
Convert the transient object to the requested representation.
RawDataMcParticleCnv(ISvcLocator *svc)
StatusCode initialize()
virtual StatusCode updateObj(IOpaqueAddress *pAddr, DataObject *pObj)
override the RawDataBaseCnv version