6 #ifndef _PSTATICDATA_H_
7 #define _PSTATICDATA_H_
17 #define MAX_DAUGHTERS 7
48 int AddAlias(
const char* old_name,
49 const char* new_name);
50 int GetAliasParent(
const char* alias_name);
51 int GetAliasParent(
int key);
53 int MakeDirectoryEntry(
58 Double_t* GetBatchValue(
const char* name, Int_t make_val = 1);
64 int GetParticleID(
const char*
id,
int warn = 1);
65 int GetParticleIDByKey(
int key);
66 const char* GetParticleName(
const int&
id);
67 int GetParticleKey(
const int&
id);
69 return GetParticleKey(GetParticleID(
id));
71 int IsParticle(
const int&
id,
73 int IsParticleValid(
const int&
id);
74 int IsParticleValid(
const char* n);
76 int AddParticle(
int pid,
const char* name,
double mass);
77 void PrintParticle(
int pid);
78 void PrintParticleByKey(
int pid);
81 int GetParticleKF(
const int Id);
82 int GetParticleIDbyKF(
85 int IsParticleMeson(
const int&
id);
86 void SetParticleMeson(
const char*
id, Int_t num = 1);
88 int IsParticleHadron(
const int&
id);
89 int GetParticleBaryon(
const int&
id);
90 void SetParticleBaryon(
const char*
id,
93 int GetParticleLepton(
const int&
id);
94 void SetParticleLepton(
const char*
id, Int_t num = 1);
96 int GetParticleCharge(
const int&
id);
97 int GetParticleCharge(
const char*
id);
98 void SetParticleCharge(
const char*
id, Int_t charge);
100 int GetParticleSpin(
const int&
id);
101 int GetParticleSpin(
const char*
id);
102 void SetParticleSpin(
const char*
id, Int_t spin);
104 int GetParticleIsospin(
const int&
id);
105 int GetParticleIsospin(
const char*
id);
106 void SetParticleIsospin(
const char*
id, Int_t isospin);
108 int GetParticleParity(
const int&
id);
109 int GetParticleParity(
const char*
id);
110 void SetParticleParity(
const char*
id, Int_t parity);
112 double GetParticleMass(
const int&
id);
113 double GetParticleMass(
const char*
id);
114 double GetParticleMassByKey(
const int&
id);
115 void SetParticleMass(Int_t
id, Float_t mass);
116 void SetParticleMass(
const char*
id, Float_t mass);
118 int GetParticleNChannels(
const int&
id);
119 int GetParticleNChannels(
const char*
id);
120 int GetParticleNChannelsByKey(
int id);
122 void SetParticleTotalWidth(Int_t
id, Float_t wid);
123 void SetParticleTotalWidth(
const char*
id, Float_t wid);
124 double GetParticleTotalWidth(
const int&
id);
126 return GetParticleTotalWidth(GetParticleID(
id));
128 double GetParticleTotalWidthByKey(
const int&
id);
130 double GetParticleEmin(
132 void SetParticleEmin(
const int&
id,
const double v);
135 double GetParticleLMass(
138 return GetParticleLMass(GetParticleID(
id));
140 double GetParticleUMass(
143 return GetParticleUMass(GetParticleID(
id));
148 SetParticleLMass(GetParticleName(
id),
v);
151 SetParticleLMass(
const char*
id,
157 SetParticleUMass(GetParticleName(
id),
v);
160 SetParticleUMass(
const char*
id,
164 bool NormParticleBR(Int_t
id);
165 bool NormParticleBRbyKey(Int_t key);
166 void SetTotalNormalization(
char* p,
int flag = 1);
169 void FreezeDecayBR(Int_t
id,
171 bool SetDecayBR(
int didx,
double br,
int mode);
173 SetDecayBR(
const char* parent,
const char* daughters,
double br,
int mode);
174 bool SetDecayBRByKey(
int key,
double br,
int mode);
176 Double_t GetDecayBR(Int_t
id);
177 Double_t GetDecayPartialWidth(Int_t
id);
178 Double_t GetDecayPartialWidthByKey(Int_t
id);
179 const char* GetDecayName(Int_t
id);
180 const char* GetDecayNameByKey(Int_t key);
182 Int_t IsDecayHadronic(Int_t didx);
196 void PrintDecayByKey(
int key);
198 int GetDecayNProducts(
200 int GetDecayNProducts(
const char*);
201 int GetDecayNProductsByKey(
const int& key);
203 int GetDecayParent(
const int&);
204 int GetDecayParentByKey(
const int&);
205 void GetDecayMode(
const int,
207 void GetDecayModeByKey(
const int,
int* n);
212 int GetDecayKey(
int* pid,
int n);
213 int GetDecayKey(
const int&
id);
214 int GetDecayIdxByKey(
int key);
216 int GetDecayBRFlag(
int didx);
217 void SetDecayBRFlag(
int didx,
int flag);
223 void SetDecayEmin(
const int& idx,
const double v);
226 int GetTWidx(
const int&);
227 int GetPWidx(
const int&);
228 void SetTWidx(
const int&,
const int&);
229 void SetPWidx(
const int&,
const int&);
231 int GetTDepth(
const int&);
232 void SetTDepth(
const int&,
const int&);
233 int GetHDepth(
const int&);
234 void SetHDepth(
const int&,
const int&);
236 void SetTWidthMesh(
const int&,
PMesh* mesh);
237 PMesh* GetTWidthMesh(
const int&);
239 void SetPWidthMesh(
const int&,
PMesh* mesh);
240 PMesh* GetPWidthMesh(
const int&);
242 void SetTF1(
const int&, TF1* mesh);
243 TF1* GetTF1(
const int&);
246 Tokenize(
const char* options,
const char* delimiter,
char** array,
int* size);
247 static void remove_spaces(
char** partc);
249 static void dsort(Double_t*,
int);
262 for (
int j = 0; j < n; ++j)
263 x[j] = ((Double_t)
i[j]) + ((Double_t) j) * 0.00001;
265 for (
int j = 0; j < n; ++j)
300 Int_t
widx_param, mesh_param, tf1_param, ethreshold_param, lmass_param,
303 Int_t d1_param, d2_param, d3_param, pnmodes_param,
ppid_param;
315 #endif // _PDATAUTIL_H_