12 #ifndef PYTHIA_TPythia6
13 #define PYTHIA_TPythia6
84 class TPythia6 :
public TGenerator {
87 static TPythia6* fgInstance;
111 class TPythia6Cleaner {
116 friend class TPythia6Cleaner;
118 TPythia6(
const TPythia6&);
119 TPythia6& operator=(
const TPythia6&);
126 static TPythia6 *Instance();
136 Pyjets_t* GetPyjets () {
return fPyjets; }
137 int GetN () {
return fPyjets->N; }
138 int GetNPAD () {
return fPyjets->NPAD; }
139 int GetK(
int ip,
int i) {
return fPyjets->K[i-1][ip-1]; }
140 double GetP(
int ip,
int i) {
return fPyjets->P[i-1][ip-1]; }
141 double GetV(
int ip,
int i) {
return fPyjets->V[i-1][ip-1]; }
143 void SetN (
int n) { fPyjets->N = n; }
144 void SetNPAD (
int n) { fPyjets->NPAD = n; }
145 void SetK(
int ip,
int i,
int k) { fPyjets->K[i-1][ip-1] = k; }
146 void SetP(
int ip,
int i,
double p) { fPyjets->P[i-1][ip-1] = p; }
147 void SetV(
int ip,
int i,
double v) { fPyjets->V[i-1][ip-1] = v; }
151 Pydat1_t* GetPydat1 () {
return fPydat1; }
152 int GetMSTU(
int i) {
return fPydat1->MSTU[i-1]; }
153 double GetPARU(
int i) {
return fPydat1->PARU[i-1]; }
154 int GetMSTJ(
int i) {
return fPydat1->MSTJ[i-1]; }
155 double GetPARJ(
int i) {
return fPydat1->PARJ[i-1]; }
157 void SetMSTU(
int i,
int m ) { fPydat1->MSTU[i-1] = m; }
158 void SetPARU(
int i,
double p) { fPydat1->PARU[i-1] = p; }
159 void SetMSTJ(
int i,
int m ) { fPydat1->MSTJ[i-1] = m; }
160 void SetPARJ(
int i,
double p) { fPydat1->PARJ[i-1] = p; }
164 Pydat2_t* GetPydat2 () {
return fPydat2; }
165 int GetKCHG(
int ip,
int i) {
return fPydat2->KCHG[i-1][ip-1]; }
166 double GetPMAS(
int ip,
int i) {
return fPydat2->PMAS[i-1][ip-1]; }
167 double GetPARF (
int i) {
return fPydat2->PARF[i-1]; }
168 double GetVCKM(
int i,
int j) {
return fPydat2->VCKM[j-1][i-1]; }
170 void SetKCHG(
int ip,
int i,
int k ) { fPydat2->KCHG[i-1][ip-1] = k; }
171 void SetPMAS(
int ip,
int i,
double m) { fPydat2->PMAS[i-1][ip-1] = m; }
172 void SetPARF (
int i,
double p) { fPydat2->PARF[i-1] = p; }
173 void SetVCKM (
int i,
int j,
double v) { fPydat2->VCKM[j-1][i-1] = v; }
177 Pydat3_t* GetPydat3() {
return fPydat3; }
178 int GetMDCY(
int i,
int j) {
return fPydat3->MDCY[j-1][i-1]; }
179 int GetMDME(
int i,
int j) {
return fPydat3->MDME[j-1][i-1]; }
180 double GetBRAT (
int i) {
return fPydat3->BRAT[i-1]; }
181 int GetKFDP(
int i,
int j) {
return fPydat3->KFDP[j-1][i-1]; }
183 void SetMDCY(
int i,
int j,
int m) { fPydat3->MDCY[j-1][i-1] = m; }
184 void SetMDME(
int i,
int j,
int m) { fPydat3->MDME[j-1][i-1] = m; }
185 void SetBRAT(
int i,
double b) { fPydat3->BRAT[i-1] = b; }
186 void SetKFDP(
int i,
int j,
int k) { fPydat3->KFDP[j-1][i-1] = k; }
190 Pydat4_t* GetPydat4() {
return fPydat4; }
194 Pydatr_t* GetPydatr () {
return fPydatr; }
195 int GetMRPY(
int i) {
return fPydatr->MRPY[i-1]; }
196 double GetRRPY(
int i) {
return fPydatr->RRPY[i-1]; }
198 void SetMRPY(
int i,
int m) { fPydatr->MRPY[i-1] = m; }
199 void SetRRPY(
int i,
double r) { fPydatr->RRPY[i-1] = r; }
203 Pysubs_t* GetPysubs () {
return fPysubs; }
204 int GetMSEL () {
return fPysubs->MSEL; }
205 int GetMSELPD () {
return fPysubs->MSELPD; }
206 int GetMSUB (
int i) {
return fPysubs->MSUB[i-1]; }
207 double GetCKIN (
int i) {
return fPysubs->CKIN[i-1]; }
208 Int_t GetKFIN(
int i,
int j) {
return fPysubs->KFIN[j+40][i-1]; }
210 void SetMSEL (
int m) { fPysubs->MSEL = m; }
211 void SetMSELPD (
int m) { fPysubs->MSELPD = m; }
212 void SetMSUB (
int i,
int m) { fPysubs->MSUB[i-1] = m; }
213 void SetCKIN (
int i,
double c) { fPysubs->CKIN[i-1] = c; }
214 void SetKFIN(
int i,
int j, Int_t kfin=1) { fPysubs->KFIN[j+40][i-1] = kfin; }
218 Pypars_t* GetPypars() {
return fPypars; }
219 int GetMSTP(
int i) {
return fPypars->MSTP[i-1]; }
220 double GetPARP(
int i) {
return fPypars->PARP[i-1]; }
221 int GetMSTI(
int i) {
return fPypars->MSTI[i-1]; }
222 double GetPARI(
int i) {
return fPypars->PARI[i-1]; }
224 void SetMSTP (
int i,
int m) { fPypars->MSTP[i-1] = m; }
225 void SetPARP (
int i,
double p) { fPypars->PARP[i-1] = p; }
226 void SetMSTI (
int i,
int m) { fPypars->MSTI[i-1] = m; }
227 void SetPARI (
int i,
double p) { fPypars->PARI[i-1] = p; }
231 Pyint1_t* GetPyint1() {
return fPyint1; }
232 int GetMINT(
int i) {
return fPyint1->MINT[i-1]; }
233 double GetVINT(
int i) {
return fPyint1->VINT[i-1]; }
235 void SetMINT(
int i,
int m ) { fPyint1->MINT[i-1] = m; }
236 void SetVINT(
int i,
double v) { fPyint1->VINT[i-1] = v; }
240 Pyint2_t* GetPyint2() {
return fPyint2; }
241 Pyint3_t* GetPyint3() {
return fPyint3; }
245 Pyint4_t* GetPyint4() {
return fPyint4; }
246 int GetMWID (
int i) {
return fPyint4->MWID[i-1]; }
247 double GetWIDS(
int i,
int j) {
return fPyint4->WIDS[j-1][i-1]; }
249 void SetMWID(
int i,
int m) { fPyint4->MWID[i-1] = m; }
250 void SetWIDS(
int i,
int j,
double w) { fPyint4->WIDS[j-1][i-1] = w; }
254 Pyint5_t* GetPyint5() {
return fPyint5; }
255 int GetNGENPD() {
return fPyint5->NGENPD; }
256 void SetNGENPD(
int n) { fPyint5->NGENPD = n; }
260 Pyint6_t* GetPyint6 () {
return fPyint6; }
261 char* GetPROC(
int i) { fPyint6->PROC[i][27]=0;
return fPyint6->PROC[i]; }
263 Pyint7_t* GetPyint7() {
return fPyint7; }
264 Pyint8_t* GetPyint8() {
return fPyint8; }
265 Pyint9_t* GetPyint9() {
return fPyint9; }
270 Pymssm_t* GetPymssm() {
return fPymssm; }
271 int GetIMSS(
int i) {
return fPymssm->IMSS[i]; }
272 double GetRMSS(
int i) {
return fPymssm->RMSS[i]; }
274 void SetIMSS(
int i,
int m) { fPymssm->IMSS[i] = m; }
275 void SetRMSS(
int i,
double r) { fPymssm->RMSS[i] = r; }
279 Pyssmt_t* GetPyssmt() {
return fPyssmt; }
280 double GetZMIX(
int i,
int j) {
return fPyssmt->ZMIX[j-1][i-1]; }
281 double GetUMIX(
int i,
int j) {
return fPyssmt->UMIX[j-1][i-1]; }
282 double GetVMIX(
int i,
int j) {
return fPyssmt->VMIX[j-1][i-1]; }
283 double GetSMZ (
int i) {
return fPyssmt->SMZ[i-1]; }
284 double GetSMW (
int i) {
return fPyssmt->SMW[i-1]; }
286 void SetZMIX(
int i,
int j,
double z) { fPyssmt->ZMIX[j-1][i-1] = z; }
287 void SetUMIX(
int i,
int j,
double u) { fPyssmt->UMIX[j-1][i-1] = u; }
288 void SetSMZ (
int i,
double s) { fPyssmt->SMZ[i-1] = s; }
289 void SetSMW (
int i,
double s) { fPyssmt->SMW[i-1] = s; }
291 Pyints_t* GetPyints() {
return fPyints; }
292 Pybins_t* GetPybins() {
return fPybins; }
296 void GenerateEvent();
298 void Initialize(
const char *frame,
const char *beam,
const char *target,
float win);
300 Int_t ImportParticles(TClonesArray *particles, Option_t *option=
"");
301 TObjArray *ImportParticles(Option_t *option=
"");
303 void OpenFortranFile(
int lun,
char* name);
304 void CloseFortranFile(
int lun);
308 void Pyedit(
int medit);
310 void Py1ent(Int_t line, Int_t kf, Double_t pe, Double_t theta, Double_t phi);
312 void Pyhepc(
int mconv);
313 void Pygive(
const char *param);
314 void Pyinit(
char* frame,
char* beam,
char* target,
double wint);
315 void Pylist(
int flag);
316 double Pymass(
int kf);
317 void Pyname(
int kf,
char* name);
318 double Pyr(
int idummy);
319 void Pyrget(
int lun,
int move);
320 void Pyrset(
int lun,
int move);
321 void Pystat(
int flag);
322 void Pytest(
int flag);
323 void Pytune(
int itune);
324 void Pyupda(
int mupda,
int lun);