CMS 3D CMS Logo

HectorTransport.h
Go to the documentation of this file.
1 #ifndef HECTOR_TRANSPORT
2 #define HECTOR_TRANSPORT
4 
7 
12 
14 
15 #include <cmath>
16 #include <iomanip>
17 #include <cstdlib>
18 
19 // HepMC headers
20 #include "HepMC/GenEvent.h"
21 #include "HepMC/GenVertex.h"
22 #include "HepMC/GenParticle.h"
23 #include "HepMC/SimpleVector.h"
24 
25 // user include files
26 #include <string>
27 
28 namespace CLHEP {
29  class HepRandomEngine;
30 }
31 
32 class H_BeamParticle;
33 class H_BeamLine;
34 
36 public:
38  ~HectorTransport() override;
39 
40  void process(const HepMC::GenEvent* ev, const edm::EventSetup& es, CLHEP::HepRandomEngine* engine) override;
41 
42 private:
44  static constexpr double fPPSBeamLineLength_ = 250.; // default beam line length
45 
48 
49  // New function to calculate the LorentzBoost
50 
51  bool setBeamLine();
52  // Defaults
53 
54  double m_fEtacut;
56 
57  // PPSHector
58  std::unique_ptr<H_BeamLine> m_beamline45;
59  std::unique_ptr<H_BeamLine> m_beamline56;
60 };
61 #endif
MessageLogger.h
ESHandle.h
HectorTransport
Definition: HectorTransport.h:35
RandomNumberGenerator.h
HectorTransport::transportProton
bool transportProton(const HepMC::GenParticle *)
propagate the particles through a beamline to PPS
Definition: HectorTransport.cc:71
HectorTransport::m_verbosity
bool m_verbosity
Definition: HectorTransport.h:43
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
HectorTransport::fPPSBeamLineLength_
static constexpr double fPPSBeamLineLength_
Definition: HectorTransport.h:44
HectorTransport::process
void process(const HepMC::GenEvent *ev, const edm::EventSetup &es, CLHEP::HepRandomEngine *engine) override
Definition: HectorTransport.cc:42
CLHEP
Definition: CocoaGlobals.h:27
HectorTransport::m_beamline56
std::unique_ptr< H_BeamLine > m_beamline56
Definition: HectorTransport.h:59
edm::ParameterSet
Definition: ParameterSet.h:36
ParticleDataTable.h
HectorTransport::HectorTransport
HectorTransport(const edm::ParameterSet &ps)
Definition: HectorTransport.cc:12
BaseProtonTransport.h
BaseProtonTransport
Definition: BaseProtonTransport.h:17
edm::EventSetup
Definition: EventSetup.h:57
HectorTransport::m_beamline45
std::unique_ptr< H_BeamLine > m_beamline45
Definition: HectorTransport.h:58
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
EventSetup.h
HectorTransport::m_fMomentumMin
double m_fMomentumMin
Definition: HectorTransport.h:55
ParameterSet.h
HectorTransport::m_fEtacut
double m_fEtacut
Definition: HectorTransport.h:54
HepMCProduct.h
HectorTransport::~HectorTransport
~HectorTransport() override
Definition: HectorTransport.cc:10
HectorTransport::setBeamLine
bool setBeamLine()
Definition: HectorTransport.cc:174