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
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
() {}
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
*);
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
MuonBremsstrahlungSimulator::npar
int npar
Definition:
MuonBremsstrahlungSimulator.h:54
MuonBremsstrahlungSimulator::compute
void compute(ParticlePropagator &Particle, RandomEngineAndDistribution const *)
Generate Bremsstrahlung photons.
Definition:
MuonBremsstrahlungSimulator.cc:37
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
MaterialEffectsSimulator.h
MuonBremsstrahlungSimulator::~MuonBremsstrahlungSimulator
~MuonBremsstrahlungSimulator()
Default destructor.
Definition:
MuonBremsstrahlungSimulator.h:40
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:94
MuonBremsstrahlungSimulator::brem_photon
XYZTLorentzVector brem_photon
Definition:
MuonBremsstrahlungSimulator.h:84
MuonBremsstrahlungSimulator::rand
double rand
Definition:
MuonBremsstrahlungSimulator.h:63
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
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
MuonBremsstrahlungSimulator::bremProba
double bremProba
Definition:
MuonBremsstrahlungSimulator.h:58
MaterialEffectsSimulator::radLen
double radLen
Definition:
MaterialEffectsSimulator.h:96
MaterialEffectsSimulator::density
double density
Definition:
MaterialEffectsSimulator.h:95
MaterialEffectsSimulator::A
double A
Definition:
MaterialEffectsSimulator.h:93
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.5