]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STARLIGHT/starlight/include/starlightconstants.h
STARLIGHT code and interface
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / include / starlightconstants.h
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  */
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 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