Main Page
Namespaces
Classes
Package Documentation
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
RandomEngineAndDistribution
;
30
31
class
MuonBremsstrahlungSimulator
:
public
MaterialEffectsSimulator
32
{
33
public
:
34
36
MuonBremsstrahlungSimulator
(
double
A
,
double
Z
,
double
density
,
37
double
radLen
,
double
photonEnergyCut,
double
photonFractECut);
38
40
~MuonBremsstrahlungSimulator
()
override
{}
41
42
43
// Returns the actual Muon brem Energy
44
inline
const
XYZTLorentzVector
&
deltaP_BremMuon
()
const
{
return
deltaPMuon
; }
45
46
// Returns the actual photon brem Energy
47
inline
const
XYZTLorentzVector
&
deltaP_BremPhoton
()
const
{
return
brem_photon
; }
48
49
50
private
:
51
52
TF1*
f1
;
53
54
int
npar
;
55
57
double
photonEnergy
;
58
double
bremProba
;
60
double
photonFractE
;
61
63
double
xmin
,
xmax
,
rand
;
64
double
d
;
//distance
65
67
unsigned
int
poisson
(
double
ymu);
68
70
void
compute
(
ParticlePropagator
&
Particle
,
RandomEngineAndDistribution
const
*)
override
;
71
73
XYZTLorentzVector
brem
(
ParticlePropagator
&
p
,
RandomEngineAndDistribution
const
*)
const
;
74
76
double
gbteth
(
const
double
ener,
77
const
double
partm,
78
const
double
efrac,
79
RandomEngineAndDistribution
const
*)
const
;
80
81
// The actual Muon Brem
82
XYZTLorentzVector
deltaPMuon
;
83
//The photon brem
84
XYZTLorentzVector
brem_photon
;
85
};
86
#endif
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
MuonBremsstrahlungSimulator::npar
int npar
Definition:
MuonBremsstrahlungSimulator.h:54
MuonBremsstrahlungSimulator::gbteth
double gbteth(const double ener, const double partm, const double efrac, RandomEngineAndDistribution const *) const
A universal angular distribution - still from GEANT.
Definition:
MuonBremsstrahlungSimulator.cc:169
MuonBremsstrahlungSimulator::xmin
double xmin
The fractional photon energy cut (determined from the above two)
Definition:
MuonBremsstrahlungSimulator.h:63
Particle
Definition:
Particle.py:1
MuonBremsstrahlungSimulator::compute
void compute(ParticlePropagator &Particle, RandomEngineAndDistribution const *) override
Generate Bremsstrahlung photons.
Definition:
MuonBremsstrahlungSimulator.cc:37
MaterialEffectsSimulator.h
MuonBremsstrahlungSimulator::deltaP_BremMuon
const XYZTLorentzVector & deltaP_BremMuon() const
Definition:
MuonBremsstrahlungSimulator.h:44
MuonBremsstrahlungSimulator::f1
TF1 * f1
Definition:
MuonBremsstrahlungSimulator.h:52
ParticlePropagator
Definition:
ParticlePropagator.h:27
MuonBremsstrahlungSimulator::deltaPMuon
XYZTLorentzVector deltaPMuon
Definition:
MuonBremsstrahlungSimulator.h:82
MaterialEffectsSimulator::Z
double Z
Definition:
MaterialEffectsSimulator.h:95
MuonBremsstrahlungSimulator::brem_photon
XYZTLorentzVector brem_photon
Definition:
MuonBremsstrahlungSimulator.h:84
MuonBremsstrahlungSimulator::rand
double rand
Definition:
MuonBremsstrahlungSimulator.h:63
MuonBremsstrahlungSimulator::~MuonBremsstrahlungSimulator
~MuonBremsstrahlungSimulator() override
Default destructor.
Definition:
MuonBremsstrahlungSimulator.h:40
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:47
MuonBremsstrahlungSimulator
Definition:
MuonBremsstrahlungSimulator.h:31
MuonBremsstrahlungSimulator::d
double d
Definition:
MuonBremsstrahlungSimulator.h:64
MuonBremsstrahlungSimulator::xmax
double xmax
Definition:
MuonBremsstrahlungSimulator.h:63
MuonBremsstrahlungSimulator::MuonBremsstrahlungSimulator
MuonBremsstrahlungSimulator(double A, double Z, double density, double radLen, double photonEnergyCut, double photonFractECut)
Constructor.
Definition:
MuonBremsstrahlungSimulator.cc:22
MuonBremsstrahlungSimulator::photonFractE
double photonFractE
The minimum photon fractional energy (wrt that of the electron)
Definition:
MuonBremsstrahlungSimulator.h:60
MuonBremsstrahlungSimulator::bremProba
double bremProba
Definition:
MuonBremsstrahlungSimulator.h:58
MaterialEffectsSimulator::radLen
double radLen
Definition:
MaterialEffectsSimulator.h:97
MaterialEffectsSimulator::density
double density
Definition:
MaterialEffectsSimulator.h:96
MaterialEffectsSimulator::A
double A
Definition:
MaterialEffectsSimulator.h:94
MuonBremsstrahlungSimulator::brem
XYZTLorentzVector brem(ParticlePropagator &p, RandomEngineAndDistribution const *) const
Compute Brem photon energy and angles, if any.
Definition:
MuonBremsstrahlungSimulator.cc:130
MuonBremsstrahlungSimulator::photonEnergy
double photonEnergy
The minimum photon energy to be radiated, in GeV.
Definition:
MuonBremsstrahlungSimulator.h:57
RandomEngineAndDistribution
Definition:
RandomEngineAndDistribution.h:18
MaterialEffectsSimulator
Definition:
MaterialEffectsSimulator.h:25
XYZTLorentzVector
math::XYZTLorentzVector XYZTLorentzVector
Definition:
RawParticle.h:15
Generated for CMSSW Reference Manual by
1.8.11