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
bool
produceHitsRelativeToBeam_
;
45
46
static
constexpr
double
fPPSBeamLineLength_
= 250.;
// default beam line length
47
49
bool
transportProton
(
const
HepMC::GenParticle
*);
50
51
// New function to calculate the LorentzBoost
52
53
bool
setBeamLine
();
54
// Defaults
55
56
double
m_fEtacut
;
57
double
m_fMomentumMin
;
58
59
// PPSHector
60
std::unique_ptr<H_BeamLine>
m_beamline45
;
61
std::unique_ptr<H_BeamLine>
m_beamline56
;
62
};
63
#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:73
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:46
HectorTransport::process
void process(const HepMC::GenEvent *ev, const edm::EventSetup &es, CLHEP::HepRandomEngine *engine) override
Definition:
HectorTransport.cc:44
CLHEP
Definition:
CocoaGlobals.h:27
HectorTransport::m_beamline56
std::unique_ptr< H_BeamLine > m_beamline56
Definition:
HectorTransport.h:61
edm::ParameterSet
Definition:
ParameterSet.h:47
ParticleDataTable.h
HectorTransport::HectorTransport
HectorTransport(const edm::ParameterSet &ps)
Definition:
HectorTransport.cc:14
BaseProtonTransport.h
BaseProtonTransport
Definition:
BaseProtonTransport.h:17
edm::EventSetup
Definition:
EventSetup.h:58
HectorTransport::m_beamline45
std::unique_ptr< H_BeamLine > m_beamline45
Definition:
HectorTransport.h:60
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:57
ParameterSet.h
HectorTransport::m_fEtacut
double m_fEtacut
Definition:
HectorTransport.h:56
HepMCProduct.h
HectorTransport::produceHitsRelativeToBeam_
bool produceHitsRelativeToBeam_
Definition:
HectorTransport.h:44
HectorTransport::~HectorTransport
~HectorTransport() override
Definition:
HectorTransport.cc:12
HectorTransport::setBeamLine
bool setBeamLine()
Definition:
HectorTransport.cc:171
Generated for CMSSW Reference Manual by
1.8.16