ATLAS Offline Software
Loading...
Searching...
No Matches
Epos.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef GENERATORMODULESEPOS_H
6#define GENERATORMODULESEPOS_H
7
9#include <sys/types.h>
10
11#include "CRMC.h"
27
28class Epos: public GenModule {
29public:
30 Epos(const std::string& name, ISvcLocator* pSvcLocator);
31 virtual ~Epos() = default;
32
33 virtual StatusCode genInitialize();
34 virtual StatusCode callGenerator();
35 virtual StatusCode genFinalize();
36 virtual StatusCode fillEvt(HepMC::GenEvent* evt);
37
38protected:
39 // The interface
40 CRMCinterface* m_interface;
41 // event counter
43 int m_ievent; //event counter in Epos
44 int m_iout; //output type
45
46 // setable properties
52 std::string m_paramFile;
53 std::string m_lheout;
54 int m_itab;
57 double m_degymx;
58
59 //Gen_tf run args.
60 IntegerProperty m_dsid{this, "Dsid", 999999};
61
62 // max number of particles MUST BE EQUAL TO THE NUMBER SET IN crmc-aaa.f! (it is max. number allowed by HepMC2.6 now)
63// static const size_t kMaxParticles = HEPEVT_EntriesAllocation;
64// static const size_t kMaxParticles = HEPEVT_SIZE_REPLACE;
65 inline static const size_t kMaxParticles {10000};
66 std::vector<int> m_partID;
67 std::vector<double> m_partPx;
68 std::vector<double> m_partPy;
69 std::vector<double> m_partPz;
70 std::vector<double> m_partEnergy;
71 std::vector<double> m_partMass;
72 std::vector<int> m_partStat;
73
74 std::vector<long int> m_seeds;
75};
76
77#endif
78
int m_primaryParticle
Definition Epos.h:50
std::vector< double > m_partPy
Definition Epos.h:68
int m_nEvents
Definition Epos.h:56
std::string m_paramFile
Definition Epos.h:52
int m_itab
Definition Epos.h:54
int m_ilheout
Definition Epos.h:55
IntegerProperty m_dsid
Definition Epos.h:60
std::vector< int > m_partStat
Definition Epos.h:72
std::string m_lheout
Definition Epos.h:53
static const size_t kMaxParticles
Definition Epos.h:65
std::vector< double > m_partPx
Definition Epos.h:67
std::vector< double > m_partPz
Definition Epos.h:69
virtual StatusCode genInitialize()
For initializing the generator, if required.
Definition Epos.cxx:100
int m_model
Definition Epos.h:49
Epos(const std::string &name, ISvcLocator *pSvcLocator)
Definition Epos.cxx:60
int m_events
Definition Epos.h:42
double m_targetMomentum
Definition Epos.h:48
std::vector< long int > m_seeds
Definition Epos.h:74
double m_beamMomentum
Definition Epos.h:47
int m_ievent
Definition Epos.h:43
int m_targetParticle
Definition Epos.h:51
std::vector< int > m_partID
Definition Epos.h:66
virtual StatusCode genFinalize()
For finalising the generator, if required.
Definition Epos.cxx:154
CRMCinterface * m_interface
Definition Epos.h:40
virtual StatusCode fillEvt(HepMC::GenEvent *evt)
For filling the HepMC event object.
Definition Epos.cxx:183
virtual StatusCode callGenerator()
For calling the generator on each iteration of the event loop.
Definition Epos.cxx:124
std::vector< double > m_partEnergy
Definition Epos.h:70
double m_degymx
Definition Epos.h:57
std::vector< double > m_partMass
Definition Epos.h:71
virtual ~Epos()=default
int m_iout
Definition Epos.h:44
GenModule(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition GenModule.cxx:14