ATLAS Offline Software
Loading...
Searching...
No Matches
McEventCollectionCnv_p6.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5*/
6
7// McEventCollectionCnv_p6.h
8// Header file for class McEventCollectionCnv_p6
9// Author: J.Chapman
11#ifndef GENERATOROBJECTSTPCNV_MCEVENTCOLLECTIONCNV_p6_H
12#define GENERATOROBJECTSTPCNV_MCEVENTCOLLECTIONCNV_p6_H
13
14// STL includes
15#include <unordered_map>
16
17# include "AtlasHepMC/GenEvent.h"
18# include "AtlasHepMC/GenVertex.h"
20# include "HepMC3/Data/GenRunInfoData.h"
22
23// AthenaPoolCnvSvc includes
25
26// GeneratorObjectsTPCnv includes
28
29#include "GaudiKernel/ServiceHandle.h"
30
31class IHepMCWeightSvc;
32
33// Forward declaration
34class MsgStream;
35namespace HepMC { struct DataPool; }
36
38 McEventCollection,
39 McEventCollection_p6
40 >
41{
42
45
47 // Public methods:
49 public:
50
54
58
62
66
67 void setPileup();
68
72 virtual void persToTrans( const McEventCollection_p6* persObj,
73 McEventCollection* transObj,
74 MsgStream &log ) ;
75
79 virtual void transToPers( const McEventCollection* transObj,
80 McEventCollection_p6* persObj,
81 MsgStream &log ) ;
82
83 protected:
84
85 typedef std::unordered_map<HepMC::GenParticlePtr,int> ParticlesMap_t;
86
98 const GenVertex_p6& vtx,
99 ParticlesMap_t& bcToPart,
100 HepMC::DataPool& datapools, HepMC::GenEvent* parent=nullptr ) const;
101
109 ParticlesMap_t& partToEndVtx,
110 HepMC::DataPool& datapools, const HepMC::GenVertexPtr& parent=nullptr, bool add_to_output = true ) const;
111
116 static void writeGenVertex( const HepMC::ConstGenVertexPtr& vtx, McEventCollection_p6& persEvt );
123
126};
127#endif //> GENERATOROBJECTSTPCNV_MCEVENTCOLLECTIONCNV_p6_H
TPConverterBase< TRANS, PERS > T_AthenaPoolTPCnvBase
IService to read/write HepMC's WeightContainer key names from/to IOVMetaDataContainers author: will b...
McEventCollectionCnv_p6()
Default constructor:
HepMC::GenParticlePtr createGenParticle(const GenParticle_p6 &p, ParticlesMap_t &partToEndVtx, HepMC::DataPool &datapools, const HepMC::GenVertexPtr &parent=nullptr, bool add_to_output=true) const
Create a transient GenParticle from a persistent one (vers.1) It returns the new GenParticle.
virtual void persToTrans(const McEventCollection_p6 *persObj, McEventCollection *transObj, MsgStream &log)
Method creating the transient representation of McEventCollection from its persistent representation ...
virtual ~McEventCollectionCnv_p6()
Destructor.
ServiceHandle< IHepMCWeightSvc > m_hepMCWeightSvc
static int writeGenParticle(const HepMC::ConstGenParticlePtr &p, McEventCollection_p6 &persEvt)
Method to write a persistent GenParticle object It returns the index of the persistent GenParticle in...
HepMC::GenVertexPtr createGenVertex(const McEventCollection_p6 &persEvts, const GenVertex_p6 &vtx, ParticlesMap_t &bcToPart, HepMC::DataPool &datapools, HepMC::GenEvent *parent=nullptr) const
Create a transient GenVertex from a persistent one (version 1) It returns the new GenVertex.
McEventCollectionCnv_p6 & operator=(const McEventCollectionCnv_p6 &rhs)
Assignement operator.
std::unordered_map< HepMC::GenParticlePtr, int > ParticlesMap_t
static void writeGenVertex(const HepMC::ConstGenVertexPtr &vtx, McEventCollection_p6 &persEvt)
Method to write a persistent GenVertex object.
T_AthenaPoolTPCnvBase< McEventCollection, McEventCollection_p6 > Base_t
virtual void transToPers(const McEventCollection *transObj, McEventCollection_p6 *persObj, MsgStream &log)
Method creating the persistent representation McEventCollection_p6 from its transient representation ...
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
HepMC3::GenParticlePtr GenParticlePtr
Definition GenParticle.h:19
HepMC3::GenVertexPtr GenVertexPtr
Definition GenVertex.h:23
HepMC3::ConstGenParticlePtr ConstGenParticlePtr
Definition GenParticle.h:20
HepMC3::ConstGenVertexPtr ConstGenVertexPtr
Definition GenVertex.h:24
HepMC3::GenEvent GenEvent
Definition GenEvent.h:39