]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVGEN/AliGenParam.h
Adding protection against inconsistent Euclid files
[u/mrichter/AliRoot.git] / EVGEN / AliGenParam.h
CommitLineData
fe4da5cc 1#ifndef AliGenParam_H
2#define AliGenParam_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
fe4da5cc 8#include "AliGenerator.h"
9#include "AliPythia.h"
10#include "TNamed.h"
11#include "TF1.h"
12#include "TArrayF.h"
13#include "TArrayI.h"
14#include "TTree.h"
1578254f 15#include "TParticle.h"
fe4da5cc 16
17//-------------------------------------------------------------
fe4da5cc 18class AliGenParam : public AliGenerator
19{
20protected:
9b153ba2 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
fe4da5cc 24 TF1* fPtPara;
25 TF1* fYPara;
b7601ac4 26 Param_t fParam;
27 Float_t fdNdy0;
28 Float_t fYWgt;
29 Float_t fPtWgt;
30 Weighting_t fAnalog; //Flaf for anolog or pt-weighted generation
31 Float_t fBias;
32 Int_t fTrials;
33 Decay_t fForceDecay;
21aaa175 34 Int_t fCutOnChild;
fe4da5cc 35 TArrayI fChildSelect;
36 AliPythia *fPythia;
37 private:
38 // check if particle is selected as child
39 Bool_t ChildSelected(Int_t ip);
40 // all kinematic selection goes here
1578254f 41 Bool_t KinematicSelection(TParticle *particle);
fe4da5cc 42 public:
43 AliGenParam();
b7601ac4 44 AliGenParam(Int_t npart, Param_t param);
fe4da5cc 45// Double_t (*PtPara)(Double_t*, Double_t*),
46// Double_t (*YPara )(Double_t*, Double_t*));
47 virtual ~AliGenParam();
48 virtual void Generate();
49 virtual void Init();
50 // select particle type
b7601ac4 51 virtual void SetParam(Param_t param=jpsi_p) {fParam=param;}
fe4da5cc 52 // force decay type
53 virtual void ForceDecay(Decay_t decay=dimuon) {fForceDecay=decay;}
b7601ac4 54 virtual void SetWeighting(Weighting_t flag=analog) {fAnalog=flag;}
21aaa175 55 virtual void SetCutOnChild(Int_t flag=0) {fCutOnChild=flag;}
b7601ac4 56 ClassDef(AliGenParam,1) // Generator using parameterised pt- and y-distribution
fe4da5cc 57};
58#endif
59
60
61
62
63
64
65
66
67
68