Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
22
#include <string>
23
24
class
TF1;
25
26
class
ParticlePropagator
;
27
class
RandomEngineAndDistribution
;
28
29
class
MuonBremsstrahlungSimulator
:
public
MaterialEffectsSimulator
{
30
public
:
32
MuonBremsstrahlungSimulator
(
33
double
A
,
double
Z
,
double
density
,
double
radLen
,
double
photonEnergyCut,
double
photonFractECut);
34
36
~MuonBremsstrahlungSimulator
()
override
{}
37
38
// Returns the actual Muon brem Energy
39
inline
const
XYZTLorentzVector
&
deltaP_BremMuon
()
const
{
return
deltaPMuon
; }
40
41
// Returns the actual photon brem Energy
42
inline
const
XYZTLorentzVector
&
deltaP_BremPhoton
()
const
{
return
brem_photon
; }
43
44
private
:
45
TF1*
f1
;
46
47
int
npar
;
48
50
double
photonEnergy
;
51
double
bremProba
;
53
double
photonFractE
;
54
56
double
xmin
,
xmax
,
rand
;
57
double
d
;
//distance
58
60
unsigned
int
poisson
(
double
ymu);
61
63
void
compute
(
ParticlePropagator
& Particle,
RandomEngineAndDistribution
const
*)
override
;
64
66
XYZTLorentzVector
brem
(
ParticlePropagator
&
p
,
RandomEngineAndDistribution
const
*)
const
;
67
69
double
gbteth
(
const
double
ener,
const
double
partm,
const
double
efrac,
RandomEngineAndDistribution
const
*)
const
;
70
71
// The actual Muon Brem
72
XYZTLorentzVector
deltaPMuon
;
73
//The photon brem
74
XYZTLorentzVector
brem_photon
;
75
};
76
#endif
MuonBremsstrahlungSimulator::npar
int npar
Definition:
MuonBremsstrahlungSimulator.h:47
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:153
MuonBremsstrahlungSimulator::xmin
double xmin
The fractional photon energy cut (determined from the above two)
Definition:
MuonBremsstrahlungSimulator.h:56
MuonBremsstrahlungSimulator::compute
void compute(ParticlePropagator &Particle, RandomEngineAndDistribution const *) override
Generate Bremsstrahlung photons.
Definition:
MuonBremsstrahlungSimulator.cc:31
MaterialEffectsSimulator.h
MuonBremsstrahlungSimulator::deltaP_BremMuon
const XYZTLorentzVector & deltaP_BremMuon() const
Definition:
MuonBremsstrahlungSimulator.h:39
MuonBremsstrahlungSimulator::f1
TF1 * f1
Definition:
MuonBremsstrahlungSimulator.h:45
ParticlePropagator
Definition:
ParticlePropagator.h:28
MuonBremsstrahlungSimulator::deltaPMuon
XYZTLorentzVector deltaPMuon
Definition:
MuonBremsstrahlungSimulator.h:72
MaterialEffectsSimulator::Z
double Z
Definition:
MaterialEffectsSimulator.h:88
MuonBremsstrahlungSimulator::brem_photon
XYZTLorentzVector brem_photon
Definition:
MuonBremsstrahlungSimulator.h:74
MuonBremsstrahlungSimulator::rand
double rand
Definition:
MuonBremsstrahlungSimulator.h:56
MuonBremsstrahlungSimulator::~MuonBremsstrahlungSimulator
~MuonBremsstrahlungSimulator() override
Default destructor.
Definition:
MuonBremsstrahlungSimulator.h:36
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:42
MuonBremsstrahlungSimulator
Definition:
MuonBremsstrahlungSimulator.h:29
MuonBremsstrahlungSimulator::d
double d
Definition:
MuonBremsstrahlungSimulator.h:57
MuonBremsstrahlungSimulator::xmax
double xmax
Definition:
MuonBremsstrahlungSimulator.h:56
MuonBremsstrahlungSimulator::MuonBremsstrahlungSimulator
MuonBremsstrahlungSimulator(double A, double Z, double density, double radLen, double photonEnergyCut, double photonFractECut)
Constructor.
Definition:
MuonBremsstrahlungSimulator.cc:20
MuonBremsstrahlungSimulator::photonFractE
double photonFractE
The minimum photon fractional energy (wrt that of the electron)
Definition:
MuonBremsstrahlungSimulator.h:53
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
MuonBremsstrahlungSimulator::bremProba
double bremProba
Definition:
MuonBremsstrahlungSimulator.h:51
MaterialEffectsSimulator::radLen
double radLen
Definition:
MaterialEffectsSimulator.h:90
MaterialEffectsSimulator::density
double density
Definition:
MaterialEffectsSimulator.h:89
MaterialEffectsSimulator::A
double A
Definition:
MaterialEffectsSimulator.h:87
MuonBremsstrahlungSimulator::brem
XYZTLorentzVector brem(ParticlePropagator &p, RandomEngineAndDistribution const *) const
Compute Brem photon energy and angles, if any.
Definition:
MuonBremsstrahlungSimulator.cc:116
MuonBremsstrahlungSimulator::photonEnergy
double photonEnergy
The minimum photon energy to be radiated, in GeV.
Definition:
MuonBremsstrahlungSimulator.h:50
RandomEngineAndDistribution
Definition:
RandomEngineAndDistribution.h:18
MaterialEffectsSimulator
Definition:
MaterialEffectsSimulator.h:25
XYZTLorentzVector
math::XYZTLorentzVector XYZTLorentzVector
Definition:
RawParticle.h:25
Generated for CMSSW Reference Manual by
1.8.5