test
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