SimTransport
PPSProtonTransport
interface
HectorTransport.h
Go to the documentation of this file.
1
#ifndef HECTOR_TRANSPORT
2
#define HECTOR_TRANSPORT
3
#include "
SimTransport/PPSProtonTransport/interface/BaseProtonTransport.h
"
4
5
#include "
FWCore/Framework/interface/EventSetup.h
"
6
#include "
FWCore/Framework/interface/ESHandle.h
"
7
8
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
9
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
10
#include "
FWCore/Utilities/interface/RandomNumberGenerator.h
"
11
#include "
SimDataFormats/GeneratorProducts/interface/HepMCProduct.h
"
12
13
#include "
SimGeneral/HepPDTRecord/interface/ParticleDataTable.h
"
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
35
class
HectorTransport
:
public
BaseProtonTransport
{
36
public
:
37
HectorTransport
(
const
edm::ParameterSet
& ps);
38
~HectorTransport
()
override
;
39
40
void
process
(
const
HepMC::GenEvent
*
ev
,
const
edm::EventSetup
& es, CLHEP::HepRandomEngine* engine)
override
;
41
42
private
:
43
bool
m_verbosity
;
44
static
constexpr
double
fPPSBeamLineLength_
= 250.;
// default beam line length
45
47
bool
transportProton
(
const
HepMC::GenParticle
*);
48
49
// New function to calculate the LorentzBoost
50
51
bool
setBeamLine
();
52
// Defaults
53
54
double
m_fEtacut
;
55
double
m_fMomentumMin
;
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
Generated for CMSSW Reference Manual by
1.8.16