]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STARLIGHT/starlight/include/starlightconstants.h
STARLIGHT code and interface
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / include / starlightconstants.h
CommitLineData
da32329d
AM
1///////////////////////////////////////////////////////////////////////////
2//
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//
20///////////////////////////////////////////////////////////////////////////
21//
22// File and Version Information:
23// $Rev:: 125 $: revision of last commit
24// $Author:: odjuvsla $: author of last commit
25// $Date:: 2013-09-05 22:08:26 +0200 #$: date of last commit
26//
27// Description:
28//
29//
30//
31///////////////////////////////////////////////////////////////////////////
32
33
34#ifndef STARLIGHTCONSTANTS_H_INCLUDE
35#define STARLIGHTCONSTANTS_H_INCLUDE
36
37
38/*
39 * Constants are set here
40 */
41namespace 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 pionNeutralMass = 0.1349766; // [GeV/c^2]
56 static const double kaonChargedMass = 0.493677; // [GeV/c^2]
57 static const double mel = 0.00051099907; // [GeV/c^2]
58 static const double muonMass = 0.105658389; // [GeV/c^2]
59 static const double tauMass = 1.777; // [GeV/c^2]
60
61 static const double f0Mass = 0.980; // [GeV/c^2]
62 static const double etaMass = 0.54730; // [GeV/c^2]
63 static const double etaPrimeMass = 0.95766; // [GeV/c^2]
64 static const double etaCMass = 2.9803; // [GeV/c^2]
65 static const double f2Mass = 1.2751; // [GeV/c^2]
66 static const double a2Mass = 1.3183; // [GeV/c^2]
67 static const double f2PrimeMass = 1.525; // [GeV/c^2]
68
69 enum particleTypeEnum {
70 UNKNOWN = 0,
71 ELECTRON = 11,
72 MUON = 13,
73 TAUON = 15,
74 PROTON = 212,
75 PION = 211,
76 KAONCHARGE = 321,
77 KAONNEUTRAL = 310,
78 A2 = 115,
79 ETA = 221,
80 F2 = 225,
81 ETAPRIME = 331,
82 F2PRIME = 335,
83 ETAC = 441,
84 F0 = 9010221,
85 ZOVERZ03 = 33,
86 RHO = 113,
87 RHOZEUS = 913,
88 FOURPRONG = 999,
89 OMEGA = 223,
90 PHI = 333,
91 JPSI = 443,
92 JPSI_ee = 443011,
93 JPSI_mumu = 443013,
94 JPSI2S = 444,
95 JPSI2S_ee = 444011,
96 JPSI2S_mumu = 444013,
97 UPSILON = 553,
98 UPSILON_ee = 553011,
99 UPSILON_mumu = 553013,
100 UPSILON2S = 554,
101 UPSILON2S_ee = 554011,
102 UPSILON2S_mumu = 554013,
103 UPSILON3S = 555,
104 UPSILON3S_ee = 555011,
105 UPSILON3S_mumu = 555013
106 };
107
108 enum decayTypeEnum {
109 NOTKNOWN = 0,
110 NARROWVMDEFAULT = 1,
111 WIDEVMDEFAULT = 2,
112 PSIFAMILY = 3,
113 LEPTONPAIR = 4,
114 SINGLEMESON = 5
115 };
116
117 enum interactionTypeEnum {
118 UNSPECIFIED = 0,
119 PHOTONPHOTON = 1,
120 PHOTONPOMERONNARROW = 2,
121 PHOTONPOMERONWIDE = 3,
122 PHOTONPOMERONINCOHERENT = 4,
123 PHOTONUCLEARSINGLE = 5,
124 PHOTONUCLEARDOUBLE = 6,
125 PHOTONUCLEARSINGLEPA = 7,
126 PHOTONUCLEARSINGLEPAPY = 8
127
128 };
129 //Structure for each event's set of tracks.
130 struct event{
131
132 public:
133
134 int _numberOfTracks;
135 //Right now this is set up for a maximum of 4 tracks,if we want more, just increase the arrays
136 //Moved it to 30, this way when pythia returns, it wont complain too much...hedging bets...not sure how many
137 double px[30],py[30],pz[30];
138 //starlightConstants::particleTypeEnum _fsParticle[30];
139 int _fsParticle[30];
140 int _charge[30];
141 //To help track mothers and daughters produced through pythia.
142 int _mother1[30];
143 int _mother2[30];
144 int _daughter1[30];
145 int _daughter2[30];
146 //Normally we just set vertices to 0
147 //But for pythia, we decay additional states
148 int _numberOfVertices;
149 double _vertx[10],_verty[10],_vertz[10];
150 };
151
152
153} // starlightConstants
154
155
156#endif // STARLIGHTCONSTANTS_H_INCLUDE
157