CbmRoot
PStdData.h
Go to the documentation of this file.
1 // Author: M.A. Kagarlis
2 // Written: 31.01.99
3 // Revised: 17/10/2006 R.H.
4 // PData Class Header
5 // (copied in part to PStdData) IF
6 
7 #ifndef _PSTDDATA_H_
8 #define _PSTDDATA_H_
9 
10 #include "TArrayD.h"
11 #include "TArrayI.h"
12 #include "TROOT.h"
13 #include <iostream>
14 
15 //#include "PStaticData.h"
16 
17 using namespace std;
18 
19 
20 class PStdData;
23 
24 class PStdData : public TObject {
25 
26 
27 public:
28  //constructor
29  PStdData();
30  //destructor
31  ~PStdData();
32 
33  Bool_t fillDataBase(void); //Copies the static entries into the PDataBase
34 
35 
36 private:
37  int disable;
38 
39  void resetPosition() {
40  // Resets the array PPosition
41 
42  int i, nm, position = 0;
43  for (i = 0; i < maxnumpar; ++i) {
44  nm = PNModes[i]; // number of decay modes of particle pid=i
45  if (!nm)
46  PPosition[i] = -1; // signifies stable particle
47  else {
48  PPosition[i] =
49  position; // index of 1st decay mode for current particle
50  position += nm; // reposition for the next particle
51  }
52  }
53  }
54 
55  int* PPosition;
56 
57 
58  static int maxnumpar, maxnummodes, *Pkf, *PMeson, *PBaryon, *PLepton,
59  *PCharge, *PJ, *PParity, *PI, *PNModes, *intcache, cachesize, save, nfiles;
60  static double *PMass, *PWidth, *PBR, *dblcache, scale;
61  static char **PName, **PMDescription, **PMode;
62 
63 
64  // local storage area
65  static int *pmes_tmp, *pbar_tmp, *plep_tmp, *pchar_tmp, *pspin_tmp,
66  *pparity_tmp, *pispin_tmp, *pnmod_tmp, *id_tmp, *pkf_tmp;
67  static double *pmass_tmp, *pwidth_tmp, *pbr_tmp;
68  static char **pnam_tmp, **pmdescr_tmp, **pmod_tmp;
69 
70  static const char* MESSAGE[];
71  static const char* NAME[];
72  static double MASS[];
73  static double WIDTH[];
74  static const int PYTHIAKF[];
75  static const int MESON[];
76  static const int BARYON[];
77  static const int LEPTON[];
78  static const int CHARGE[];
79  static const int SPIN[];
80  static const int PARITY[];
81  static const int ISPIN[];
82  static const int NMODES[];
83  static double BRR[];
84  static const char* MODE[];
85  static const char* DESCRIPTION[];
86 
87  static const double hbar;
88 
89  ClassDef(PStdData, 0) //Pluto Particle Std Data Class
90 };
91 
92 #endif // _PSTDDATA_H_
PStdData::save
static int save
Definition: PStdData.h:59
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
fStdData
PStdData & fStdData()
Definition: PStdData.cxx:35
PStdData::PPosition
int * PPosition
Definition: PStdData.h:55
PStdData::pnam_tmp
static char ** pnam_tmp
Definition: PStdData.h:68
PStdData::pparity_tmp
static int * pparity_tmp
Definition: PStdData.h:66
PStdData::scale
static double scale
Definition: PStdData.h:60
PI
#define PI
Definition: HagedornSpectrum.h:5
PStdData::resetPosition
void resetPosition()
Definition: PStdData.h:39
PStdData
Definition: PStdData.h:24
makeStdData
PStdData * makeStdData()
Definition: PStdData.cxx:40
PStdData::pwidth_tmp
static double * pwidth_tmp
Definition: PStdData.h:67
PStdData::PMeson
static int * PMeson
Definition: PStdData.h:58
PStdData::pspin_tmp
static int * pspin_tmp
Definition: PStdData.h:65
PStdData::disable
int disable
Definition: PStdData.h:37
PStdData::hbar
static const double hbar
Definition: PStdData.h:87
PStdData::PName
static char ** PName
Definition: PStdData.h:61