This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / EVGEN / AliGenParam.h
1
2 #ifndef AliGenParam_H
3 #define AliGenParam_H
4 #include "AliGenerator.h"
5 #include "AliPythia.h"
6 #include "TNamed.h"
7 #include "TF1.h"
8 #include "TArrayF.h"
9 #include "TArrayI.h"
10 #include "TTree.h"
11 #include "TMCParticle.h"
12
13 //-------------------------------------------------------------
14 // Generators specific to MUON Arm
15
16 // Generate heavy mesons - J/Psi, Upsilon, Phi
17
18 class AliGenParam : public AliGenerator
19 {
20 protected:
21     Double_t (*fPtParaFunc)(Double_t*, Double_t*);
22     Double_t (*fYParaFunc )(Double_t*, Double_t*);
23     Int_t    (*fIpParaFunc )();    
24     TF1* fPtPara;
25     TF1* fYPara;
26     Int_t fIpart;
27     Float_t fdNdy0;
28     Float_t fYWgt;
29     Float_t fPtWgt;
30     Float_t fBias;
31     Int_t   fTrials;
32     Decay_t fForceDecay;
33     TArrayI   fChildSelect;
34     AliPythia *fPythia;
35  private:
36     // check if particle is selected as child
37     Bool_t ChildSelected(Int_t ip);
38     // all kinematic selection goes here
39     Bool_t KinematicSelection(TMCParticle *particle);
40  public:
41   AliGenParam();
42   AliGenParam(Int_t npart, Int_t ipart);
43 //                 Double_t (*PtPara)(Double_t*, Double_t*),
44 //                 Double_t (*YPara )(Double_t*, Double_t*));
45   virtual ~AliGenParam();
46   virtual void Generate();
47   virtual void Init();
48   // select particle type
49   virtual void SetPart(Int_t part=443) {fIpart=part;}
50   // force decay type
51   virtual void ForceDecay(Decay_t decay=dimuon) {fForceDecay=decay;}
52   ClassDef(AliGenParam,1)
53 };
54 #endif
55
56
57
58
59
60
61
62
63
64