Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-07-03 07:05:11

0001 #ifndef INCLUDE_EICSMEAR_ERHIC_EVENTFACTORYHEPMC_H_
0002 #define INCLUDE_EICSMEAR_ERHIC_EVENTFACTORYHEPMC_H_
0003 
0004 #include "eicsmear/erhic/EventFactory.h"
0005 
0006 #include <HepMC3/GenEvent.h>
0007 #include <HepMC3/GenVertex.h>
0008 #include <HepMC3/GenParticle.h>
0009 
0010 #include<map>
0011 
0012 namespace erhic {
0013 
0014   /**
0015      Helper. This clumsy construction would be much better handled with private members, but
0016      it doesn't work like that if we want to specialize from EventFromAsciiFactory while keeping some functions.
0017    */
0018     void HandleHepmcParticle( const HepMC3::GenParticlePtr& p, std::map < HepMC3::GenParticlePtr, int >& hepmcp_index, int& particleindex, std::unique_ptr<erhic::EventHepMC>& mEvent );
0019 
0020 
0021   /**
0022      Helper. This clumsy construction would be much better handled with private members, but
0023      it doesn't work like that if we want to specialize from EventFromAsciiFactory while keeping some functions.
0024    */
0025   void HandleAllVertices( HepMC3::GenEvent& evt, std::map < HepMC3::GenParticlePtr, int >& hepmcp_index, int& particleindex, std::unique_ptr<erhic::EventHepMC>& mEvent );
0026 
0027     /**
0028      Update run-wise information.
0029    */
0030   void UpdateRuninfo( std::vector<VirtualEventFactory::NamedObjects>& mObjectsToWriteAtTheEnd, 
0031               const HepMC3::GenEvent& evt );
0032 
0033 
0034 }  // namespace erhic
0035 
0036 #endif  // INCLUDE_EICSMEAR_ERHIC_EVENTFACTORY_H_