9#include "TClonesArray.h"
12#include "TMethodCall.h"
23#define MAX_FILEOUTPUT 5
26#define MIN_PARTICLE_STACKSIZE 500
27#define INC_PARTICLE_STACKSIZE 100
28#define MAX_PARTICLE_STACKSIZE 10000
29#define MAX_REACTION_FILTERS 100
48 PReaction(
PChannel **,
int n=2,
unsigned int ff=0, TTree *ttree=NULL,
const char *filename=NULL);
50 PReaction(Double_t momentum,
const char *
beam,
const char *
target,
const char *reaction,
const char *file_name=NULL,
51 Int_t f0=1, Int_t
f1=0, Int_t
f2=0, Int_t f3=0, TTree *ttree=NULL);
54 const char *reaction,
const char *file_name=NULL,
55 Int_t f0=1, Int_t
f1=0, Int_t
f2=0, Int_t f3=0, TTree *ttree=NULL);
58 Int_t f0=1, Int_t
f1=0, Int_t
f2=0, Int_t f3=0, TTree *ttree=NULL);
69 int loop(
int i=-1,
int wf=0,
int verbose=1) {
71 return Loop(i, wf, verbose);
74 int Loop(
int i=-1,
int wf=0,
int verbose=1);
81 return cindex.GetArray(); }
86 if (IsExtTree())
return;
93 if (IsExtTree())
return;
101 if (IsExtTree())
return;
108 if (IsExtTree())
return;
115 if (IsExtTree())
return;
123 if (IsExtTree())
return;
143 void Print(
const Option_t *delme=NULL)
const;
166 Warning (
"setDecayAll",
"This method is depreciated: use SetDecayAll()");
187 PPythiaBulkDecay *
pl =
new PPythiaBulkDecay();
188 pl->SetPythia(fPythia);
189 pl->SetTauMax(tauMax);
195 pl->SetRecursiveMode(1);
196 pl->SetTauMax(tauMax);
209 Int_t testPointer(
void *p2f) {
211 if (p2f == NULL)
return -1;
212 Int_t ret = G__isinterpretedp2f(p2f);
214 fname = G__p2f2funcname(p2f);
215 printf(
"Pointer to function %s is of type %d\n",fname,ret);
221 if (flag == kTRUE) writeINDEX = 1;
235 Warning(
"AddFileOutput",
"MAX_FILEOUTPUT reached");
238 files[fileoutput_pos++] = file;
245 Bool_t
Do(
const char *command) {
248 Bool_t
Do(TH1 *
f,
const char *command, Int_t flag=1) {
251 Bool_t
Do(TH2 *
f,
const char *command, Int_t flag=1) {
254 Bool_t
Do(TH3 *
f,
const char *command, Int_t flag=1) {
257 Bool_t
Output(TNtuple *
f,
const char *command = (
char *)
"") {
263 Bool_t
Output(
const char *
f,
const char *command=
"") {
266 Bool_t
Input(
const char *
f,
const char *command=
"") {
274 if (!bulkdecay_pos) {
278 if ((strcmp(
"PProjector", bulk[bulkdecay_pos-1]->GetName()) == 0)) {
280 ((
PProjector *)bulk[bulkdecay_pos-1])->IsFileOpen()) {
281 current_projector = (
PProjector *)bulk[bulkdecay_pos-1];
299 return current_projector;
313 Int_t (*userAnalysis)(
PParticle**,Int_t);
319 int nchan, ntpar, ndpar, nclones, loop_count, reset_count, status;
327 static int activeCnt;
329 TArrayI cindex, dindex, ftrack;
334 unsigned int ropt, allPARTICLES, asciiOUTPUT, writeINDEX,
335 resetCHANNELS, getVERTEX, extTREE, HGeant, decayALL, inactivate_decayed_particles;
336 static const unsigned int ff0, ff1, ff2, ff3, ff4;
344 TString
filename, file1, file2, original_filename,reaction_string;
346 void ConvertFilename(
void);
371 int bulkdecay_pos, pro_bulkdecay_pos;
382 void SetReactionId(
void);
388 Bool_t parse_script(
const char *e,
const char *
beam,
const char *
target,
const char *reaction,
const char *file_name=NULL,
389 Int_t f0=1, Int_t
f1=0, Int_t
f2=0, Int_t f3=0, TTree *ttree=NULL);
394 Int_t IsExtTree() {
return extTREE; }
397 Int_t ParseChannel(PParticle *parent,
const char *channel,
398 TList &plutoList, Int_t &numChannels);
400 PParticle *MakeParticle(
char * name);
405 static Int_t globalEventCounter;
413 const char *r_beam, *r_target;
416 Double_t *vertex_x, *vertex_y, *vertex_z;
417 Double_t *event_impact_param , *event_plane;
418 Double_t *weight_version;
422 static void passEvent(
float,
float,
float,
int,
int*,
int*,
int*,
int*,
423 float*,
float*,
float*,
float*,
424 float*,
float*,
float*,
float*) {;}
PDistributionManager * makeDistributionManager()
Int_t select(PParticle *)
#define MAX_PARTICLE_STACKSIZE
#define MAX_REACTION_FILTERS
Bool_t AddInputASCII(const char *filename, const char *command="")
Bool_t AddOutputTNtuple(TNtuple *n, const char *command="")
Bool_t AddOutputASCII(const char *filename, const char *command="")
Bool_t AddCommand(const char *command)
Bool_t AddInputTNtuple(TNtuple *n, const char *command="")
Bool_t AddHistogram(TH3 *histo, const char *command="", Int_t fillflag=1)
PReaction(const char *filename)
void DisableWeightReset()
int loop(int i=-1, int wf=0, int verbose=1)
PDistributionManager * GetDistributionManager(void)
void SetTrigCond(Int_t n)
void SetUserAnalysis(Int_t(*f)(PParticle **, Int_t))
Bool_t Do(TH1 *f, const char *command, Int_t flag=1)
void SetUserSelection(Int_t(*f)(PParticle *))
Bool_t AddFileOutput(PFileOutput *file)
void SetUserSelection(void *f)
PReaction(const char *command, const char *beam, const char *target, const char *reaction, const char *file_name=NULL, Int_t f0=1, Int_t f1=0, Int_t f2=0, Int_t f3=0, TTree *ttree=NULL)
Bool_t Output(const char *f, const char *command="")
Bool_t AddPrologueBulk(PBulkInterface *mybulk)
friend class PDecayManager
PReaction(PChannel **, int n=2, unsigned int ff=0, TTree *ttree=NULL, const char *filename=NULL)
Bool_t Input(const char *f, const char *command="")
Bool_t Output(TNtuple *f, const char *command=(char *)"")
void AddReaction(const char *reaction)
void SetUserAnalysis(void *f)
Bool_t Do(TH2 *f, const char *command, Int_t flag=1)
void SetWriteIndex(Bool_t flag)
void SetPythia(TPythia6 *p)
int Loop(int i=-1, int wf=0, int verbose=1)
void SetName(const char *)
PProjector * GetCurrentProjector(void)
void SetDecayAll(Float_t tau=1.)
Bool_t Do(const char *command)
Bool_t AddBulk(PBulkInterface *mybulk)
PParticle ** GetProducts()
void SetFilter(int ch_id, PFilter *filter)
void Preheating(Int_t num)
void SetMaxFileSize(Int_t bytes)
PReaction(PChannel **, const char *, int n=2, int f0=1, int f1=0, int f2=0, int f3=0, TTree *ttree=NULL)
PReaction(PParticle *, const char *reaction, const char *file_name=NULL, Int_t f0=1, Int_t f1=0, Int_t f2=0, Int_t f3=0, TTree *ttree=NULL)
void setDecayAll(Float_t tau=1.)
PReaction(Double_t momentum, const char *beam, const char *target, const char *reaction, const char *file_name=NULL, Int_t f0=1, Int_t f1=0, Int_t f2=0, Int_t f3=0, TTree *ttree=NULL)
Bool_t Do(TH3 *f, const char *command, Int_t flag=1)
void Print(const Option_t *delme=NULL) const
TString filename("eta_dalitz_a")