Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
GeneratorInterface
Hydjet2Interface
src
ParticlePDG.cc
Go to the documentation of this file.
1
/*
2
Copyright : The FASTMC and SPHMC Collaboration
3
Author : Ionut Cristian Arsene
4
Affiliation : Oslo University, Norway & Institute for Space Sciences, Bucharest, Romania
5
e-mail : i.c.arsene@fys.uio.no
6
Date : 2007/05/30
7
8
This class is using the particle and decay lists provided by the
9
THERMINATOR (Computer Physics Communications 174 669 (2006)) and
10
SHARE (Computer Physics Communications 167 229 (2005)) collaborations.
11
*/
12
13
#ifndef PARTICLE_PDG
14
#include "
GeneratorInterface/Hydjet2Interface/interface/ParticlePDG.h
"
15
#endif
16
17
#include <iostream>
18
19
using namespace
std;
20
21
ParticlePDG::ParticlePDG
() {
22
fPDG =
kNonsensePDG
;
23
fMass = -1.0;
24
fWidth = 0.0;
25
fNDecayChannels = 0;
26
for
(
int
i
=0;
i
<
kMaxDecayChannels
;
i
++)
27
fDecayChannels[
i
] =
new
DecayChannel
();
28
}
29
30
ParticlePDG::ParticlePDG
(
char
*
name
,
int
pdg,
double
mass,
double
width
) {
31
for
(
int
i
=0;
i
<9;
i
++)
32
if
(*(name+
i
) !=
'\0'
)
fName
[
i
] = *(name+
i
);
33
else
break
;
34
fPDG = pdg;
35
fMass = mass;
36
fWidth =
width
;
37
fNDecayChannels = 0;
38
for
(
int
i
=0;
i
<
kMaxDecayChannels
;
i
++)
39
fDecayChannels[
i
] =
new
DecayChannel
();
40
}
41
42
ParticlePDG::~ParticlePDG
() {
43
for
(
int
i
=0;
i
<
kMaxDecayChannels
;
i
++)
44
delete
fDecayChannels[
i
];
45
}
46
47
double
ParticlePDG::GetFullBranching
() {
48
double
fullBranching = 0.0;
49
for
(
int
i
=0;
i
<fNDecayChannels;
i
++)
50
fullBranching += fDecayChannels[
i
]->GetBranching();
51
return
fullBranching;
52
}
53
54
void
ParticlePDG::AddChannel
(
DecayChannel
&channel) {
55
if
(channel.
GetMotherPDG
() != fPDG) {
56
edm::LogError
(
"ParticlePDG"
) <<
" AddChannel() : You try to add a channel which has a different mother PDG"
;
57
return
;
58
}
59
fDecayChannels[fNDecayChannels]->SetMotherPDG(channel.
GetMotherPDG
());
60
fDecayChannels[fNDecayChannels]->SetBranching(channel.
GetBranching
());
61
fDecayChannels[fNDecayChannels]->SetDaughters(channel.
GetDaughters
(), channel.
GetNDaughters
());
62
fNDecayChannels++;
63
}
i
int i
Definition:
DBlmapReader.cc:9
create_public_lumi_plots.width
int width
Definition:
create_public_lumi_plots.py:1008
ParticlePDG::~ParticlePDG
~ParticlePDG()
Definition:
ParticlePDG.cc:42
DecayChannel::GetNDaughters
int GetNDaughters()
Definition:
DecayChannel.h:41
ParticlePDG::ParticlePDG
ParticlePDG()
Definition:
ParticlePDG.cc:21
ParticlePDG.h
DecayChannel::GetBranching
double GetBranching()
Definition:
DecayChannel.h:40
DecayChannel::GetDaughters
int * GetDaughters()
Definition:
DecayChannel.h:42
mergeVDriftHistosByStation.name
string name
Definition:
mergeVDriftHistosByStation.py:77
ParticlePDG::AddChannel
void AddChannel(DecayChannel &channel)
Definition:
ParticlePDG.cc:54
MainPageGenerator.fName
tuple fName
Definition:
MainPageGenerator.py:301
edm::LogError
Definition:
MessageLogger.h:164
kMaxDecayChannels
const int kMaxDecayChannels
Definition:
ParticlePDG.h:22
DecayChannel::GetMotherPDG
int GetMotherPDG()
Definition:
DecayChannel.h:39
DecayChannel
Definition:
DecayChannel.h:22
ParticlePDG::GetFullBranching
double GetFullBranching()
Definition:
ParticlePDG.cc:47
kNonsensePDG
const int kNonsensePDG
Definition:
DecayChannel.h:20
Generated for CMSSW Reference Manual by
1.8.5