Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
FastSimulation
MaterialEffects
interface
MuonBremsstrahlungSimulator.h
Go to the documentation of this file.
1
#ifndef MUONBREMSSTRAHLUNGSIMULATOR_H
2
#define MUONBREMSSTRAHLUNGSIMULATOR_H
3
4
#include "
FastSimulation/MaterialEffects/interface/MaterialEffectsSimulator.h
"
5
23
#include <string>
24
25
26
class
TF1;
27
28
class
ParticlePropagator
;
29
class
RandomEngine
;
30
31
class
MuonBremsstrahlungSimulator
:
public
MaterialEffectsSimulator
32
{
33
public
:
34
36
MuonBremsstrahlungSimulator
(
const
RandomEngine
* engine,
37
double
A
,
double
Z
,
double
density
,
38
double
radLen
,
double
photonEnergyCut,
double
photonFractECut);
39
41
~MuonBremsstrahlungSimulator
() {}
42
43
44
// Returns the actual Muon brem Energy
45
inline
const
XYZTLorentzVector
&
deltaP_BremMuon
()
const
{
return
deltaPMuon
; }
46
47
// Returns the actual photon brem Energy
48
inline
const
XYZTLorentzVector
&
deltaP_BremPhoton
()
const
{
return
brem_photon
; }
49
50
51
private
:
52
53
TF1*
f1
;
54
55
int
npar
;
56
58
double
photonEnergy
;
59
double
bremProba
;
61
double
photonFractE
;
62
64
double
xmin
,
xmax
,
rand
;
65
double
d
;
//distance
66
68
unsigned
int
poisson
(
double
ymu);
69
71
void
compute
(
ParticlePropagator
&Particle);
72
74
XYZTLorentzVector
brem
(
ParticlePropagator
&
p
)
const
;
75
77
double
gbteth
(
const
double
ener,
78
const
double
partm,
79
const
double
efrac)
const
;
80
81
// The actual Muon Brem
82
XYZTLorentzVector
deltaPMuon
;
83
//The photon brem
84
XYZTLorentzVector
brem_photon
;
85
86
87
88
};
89
#endif
RandomEngine
Definition:
RandomEngine.h:18
MuonBremsstrahlungSimulator::npar
int npar
Definition:
MuonBremsstrahlungSimulator.h:55
MuonBremsstrahlungSimulator::xmin
double xmin
The fractional photon energy cut (determined from the above two)
Definition:
MuonBremsstrahlungSimulator.h:64
MuonBremsstrahlungSimulator::MuonBremsstrahlungSimulator
MuonBremsstrahlungSimulator(const RandomEngine *engine, double A, double Z, double density, double radLen, double photonEnergyCut, double photonFractECut)
Constructor.
Definition:
MuonBremsstrahlungSimulator.cc:22
MaterialEffectsSimulator.h
MuonBremsstrahlungSimulator::brem
XYZTLorentzVector brem(ParticlePropagator &p) const
Compute Brem photon energy and angles, if any.
Definition:
MuonBremsstrahlungSimulator.cc:131
MuonBremsstrahlungSimulator::~MuonBremsstrahlungSimulator
~MuonBremsstrahlungSimulator()
Default destructor.
Definition:
MuonBremsstrahlungSimulator.h:41
MuonBremsstrahlungSimulator::deltaP_BremMuon
const XYZTLorentzVector & deltaP_BremMuon() const
Definition:
MuonBremsstrahlungSimulator.h:45
MuonBremsstrahlungSimulator::f1
TF1 * f1
Definition:
MuonBremsstrahlungSimulator.h:53
ParticlePropagator
Definition:
ParticlePropagator.h:27
MuonBremsstrahlungSimulator::deltaPMuon
XYZTLorentzVector deltaPMuon
Definition:
MuonBremsstrahlungSimulator.h:82
MaterialEffectsSimulator::Z
double Z
Definition:
MaterialEffectsSimulator.h:93
MuonBremsstrahlungSimulator::brem_photon
XYZTLorentzVector brem_photon
Definition:
MuonBremsstrahlungSimulator.h:84
MuonBremsstrahlungSimulator::rand
double rand
Definition:
MuonBremsstrahlungSimulator.h:64
MuonBremsstrahlungSimulator::poisson
unsigned int poisson(double ymu)
Generate numbers according to a Poisson distribution of mean ymu.
MuonBremsstrahlungSimulator::deltaP_BremPhoton
const XYZTLorentzVector & deltaP_BremPhoton() const
Definition:
MuonBremsstrahlungSimulator.h:48
MuonBremsstrahlungSimulator::gbteth
double gbteth(const double ener, const double partm, const double efrac) const
A universal angular distribution - still from GEANT.
Definition:
MuonBremsstrahlungSimulator.cc:160
MuonBremsstrahlungSimulator
Definition:
MuonBremsstrahlungSimulator.h:31
MuonBremsstrahlungSimulator::d
double d
Definition:
MuonBremsstrahlungSimulator.h:65
MuonBremsstrahlungSimulator::xmax
double xmax
Definition:
MuonBremsstrahlungSimulator.h:64
MuonBremsstrahlungSimulator::photonFractE
double photonFractE
The minimum photon fractional energy (wrt that of the electron)
Definition:
MuonBremsstrahlungSimulator.h:61
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
MuonBremsstrahlungSimulator::bremProba
double bremProba
Definition:
MuonBremsstrahlungSimulator.h:59
MaterialEffectsSimulator::radLen
double radLen
Definition:
MaterialEffectsSimulator.h:95
MaterialEffectsSimulator::density
double density
Definition:
MaterialEffectsSimulator.h:94
MuonBremsstrahlungSimulator::compute
void compute(ParticlePropagator &Particle)
Generate Bremsstrahlung photons.
Definition:
MuonBremsstrahlungSimulator.cc:38
MaterialEffectsSimulator::A
double A
Definition:
MaterialEffectsSimulator.h:92
MuonBremsstrahlungSimulator::photonEnergy
double photonEnergy
The minimum photon energy to be radiated, in GeV.
Definition:
MuonBremsstrahlungSimulator.h:58
MaterialEffectsSimulator
Definition:
MaterialEffectsSimulator.h:23
XYZTLorentzVector
math::XYZTLorentzVector XYZTLorentzVector
Definition:
RawParticle.h:15
Generated for CMSSW Reference Manual by
1.8.5