StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
StarGenerator
StarLight
starlightconstants.h
1
//
3
// Copyright 2010
4
//
5
// This file is part of starlight.
6
//
7
// starlight is free software: you can redistribute it and/or modify
8
// it under the terms of the GNU General Public License as published by
9
// the Free Software Foundation, either version 3 of the License, or
10
// (at your option) any later version.
11
//
12
// starlight is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
// GNU General Public License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with starlight. If not, see <http://www.gnu.org/licenses/>.
19
//
21
//
22
// File and Version Information:
23
// $Rev:: $: revision of last commit
24
// $Author: jwebb $: author of last commit
25
// $Date: 2012/11/27 22:27:33 $: date of last commit
26
//
27
// Description:
28
//
29
//
30
//
32
33
34
#ifndef STARLIGHTCONSTANTS_H_INCLUDE
35
#define STARLIGHTCONSTANTS_H_INCLUDE
36
37
38
/*
39
* Constants are set here
40
*/
41
namespace
starlightConstants
42
{
43
44
45
// constants
46
static
const
double
hbarc = 0.197327053;
47
static
const
double
hbarcmev = hbarc*1000.;
48
static
const
double
pi = 3.141592654;
49
static
const
double
twoPi = 2 * pi;
50
static
const
double
alpha = 1/137.0359895;
51
52
// particle masses
53
static
const
double
protonMass = 0.93827231;
// [GeV/c^2]
54
static
const
double
pionChargedMass = 0.13956995;
// [GeV/c^2]
55
static
const
double
kaonChargedMass = 0.493677;
// [GeV/c^2]
56
static
const
double
mel = 0.00051099907;
// [GeV/c^2]
57
static
const
double
muonMass = 0.105658389;
// [GeV/c^2]
58
static
const
double
tauMass = 1.777;
// [GeV/c^2]
59
60
enum
particleTypeEnum {
61
UNKNOWN = 0,
62
ELECTRON = 11,
63
MUON = 13,
64
TAUON = 15,
65
PROTON = 212,
66
PION = 211,
67
KAONCHARGE = 321,
68
KAONNEUTRAL = 310,
69
A2 = 115,
70
ETA = 221,
71
F2 = 225,
72
ETAPRIME = 331,
73
F2PRIME = 335,
74
ETAC = 441,
75
F0 = 9010221,
76
ZOVERZ03 = 33,
77
RHO = 113,
78
RHOZEUS = 913,
79
FOURPRONG = 999,
80
OMEGA = 223,
81
PHI = 333,
82
JPSI = 443,
83
JPSI_ee = 443011,
84
JPSI_mumu = 443013,
85
JPSI2S = 444,
86
JPSI2S_ee = 444011,
87
JPSI2S_mumu = 444013,
88
UPSILON = 553,
89
UPSILON_ee = 553011,
90
UPSILON_mumu = 553013,
91
UPSILON2S = 554,
92
UPSILON2S_ee = 554011,
93
UPSILON2S_mumu = 554013,
94
UPSILON3S = 555,
95
UPSILON3S_ee = 555011,
96
UPSILON3S_mumu = 555013
97
};
98
99
enum
decayTypeEnum {
100
NOTKNOWN = 0,
101
NARROWVMDEFAULT = 1,
102
WIDEVMDEFAULT = 2,
103
PSIFAMILY = 3,
104
LEPTONPAIR = 4,
105
SINGLEMESON = 5
106
};
107
108
enum
interactionTypeEnum {
109
UNSPECIFIED = 0,
110
PHOTONPHOTON = 1,
111
PHOTONPOMERONNARROW = 2,
112
PHOTONPOMERONWIDE = 3
113
};
114
115
//Structure for each event's set of tracks.
116
struct
event
{
117
118
public
:
119
120
int
_numberOfTracks;
121
//Right now this is set up for a maximum of 4 tracks,if we want more, just increase the arrays
122
//Moved it to 30, this way when pythia returns, it wont complain too much...hedging bets...not sure how many
123
double
px[30],py[30],pz[30];
124
//starlightConstants::particleTypeEnum _fsParticle[30];
125
int
_fsParticle[30];
126
int
_charge[30];
127
//To help track mothers and daughters produced through pythia.
128
int
_mother1[30];
129
int
_mother2[30];
130
int
_daughter1[30];
131
int
_daughter2[30];
132
//Normally we just set vertices to 0
133
//But for pythia, we decay additional states
134
int
_numberOfVertices;
135
double
_vertx[10],_verty[10],_vertz[10];
136
};
137
138
139
}
// starlightConstants
140
141
142
#endif // STARLIGHTCONSTANTS_H_INCLUDE
143
starlightConstants::event
Definition:
starlightconstants.h:116
Generated by
1.8.5