3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 #include "AliGenerator.h"
15 #include "TParticle.h"
17 //-------------------------------------------------------------
18 class AliGenParam : public AliGenerator
21 Double_t (*fPtParaFunc)(Double_t*, Double_t*); //! Pointer to Pt parametrisation function
22 Double_t (*fYParaFunc )(Double_t*, Double_t*); //! Pointer to Y parametrisation function
23 Int_t (*fIpParaFunc )(); //! Pointer to particle type parametrisation function
30 Weighting_t fAnalog; //Flaf for anolog or pt-weighted generation
38 // check if particle is selected as child
39 Bool_t ChildSelected(Int_t ip);
40 // all kinematic selection goes here
41 Bool_t KinematicSelection(TParticle *particle);
44 AliGenParam(Int_t npart, Param_t param);
45 AliGenParam(Int_t npart, Param_t param,
46 Double_t (*PtPara)(Double_t*, Double_t*),
47 Double_t (*YPara )(Double_t*, Double_t*),
49 virtual ~AliGenParam();
50 virtual void Generate();
52 // select particle type
53 virtual void SetParam(Param_t param=jpsi_p) {fParam=param;}
55 virtual void SetForceDecay(Decay_t decay=dimuon) {fForceDecay=decay;}
56 virtual void SetWeighting(Weighting_t flag=analog) {fAnalog=flag;}
57 virtual void SetCutOnChild(Int_t flag=0) {fCutOnChild=flag;}
58 ClassDef(AliGenParam,1) // Generator using parameterised pt- and y-distribution