]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | #ifndef AliGenFLUKAsource_H |
2 | #define AliGenFLUKAsource_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 | ///////////////////////////////////////////////////////// |
9 | // Manager and hits classes for set:MUON version 0 // | |
10 | ///////////////////////////////////////////////////////// | |
11 | #include "AliGenerator.h" | |
12 | #include "TNamed.h" | |
13 | #include "TF1.h" | |
14 | #include "TArrayF.h" | |
15 | #include "TTree.h" | |
16 | ||
17 | // Read background particles from a FLUKA boundary source file | |
18 | ||
19 | class AliGenFLUKAsource : public AliGenerator | |
20 | { | |
21 | ||
22 | protected: | |
23 | ||
24 | Int_t fIkine; //Flag to choose type of particles to be read in | |
25 | // 6 - all particles types | |
26 | // 7 - only gammas | |
27 | // 8 - only neutrons | |
28 | // 9 - only charged particles | |
29 | Float_t fAgeMax; //Maximum age of particle | |
30 | Float_t fAddWeight; //Add weight for neutrons | |
31 | Float_t fZshift; //Shift the Z of impact point by this quantity | |
299e476a | 32 | Float_t fFrac; |
33 | ||
9b153ba2 | 34 | const Text_t *fFileName; //!Choose the file |
fe4da5cc | 35 | |
36 | TTree *fTreeFluka; //pointer to the TTree | |
37 | //Declaration of variables read from the file -- TTree type | |
38 | Float_t Ip; | |
39 | Float_t Ipp; | |
40 | Float_t Xi; | |
41 | Float_t Yi; | |
42 | Float_t Zi; | |
43 | Float_t Px; | |
44 | Float_t Py; | |
45 | Float_t Pz; | |
46 | Float_t Ekin; | |
47 | Float_t Zv; | |
48 | Float_t Rv; | |
49 | Float_t Itra; | |
50 | Float_t Igas; | |
51 | Float_t Wgt; | |
52 | Float_t Etag; | |
53 | Float_t Ptg; | |
54 | Float_t Age; | |
55 | ||
56 | public: | |
57 | AliGenFLUKAsource(); | |
58 | AliGenFLUKAsource(Int_t npart); | |
59 | virtual ~AliGenFLUKAsource(); | |
299e476a | 60 | // Initialise |
61 | virtual void Init() {} | |
62 | // Initialise fluka data | |
fe4da5cc | 63 | virtual void FlukaInit(); |
299e476a | 64 | // choose particle type |
fe4da5cc | 65 | virtual void SetPartFlag(Int_t ikine) {fIkine=ikine;} |
299e476a | 66 | // set time cut |
fe4da5cc | 67 | virtual void SetAgeMax(Float_t agemax) {fAgeMax=agemax;} |
299e476a | 68 | // use additional weight on neutrals |
fe4da5cc | 69 | virtual void SetAddWeight(Float_t addwgt) {fAddWeight=addwgt;} |
299e476a | 70 | // z-shift of vertex |
fe4da5cc | 71 | virtual void SetZshift(Float_t zshift) {fZshift=zshift;} |
299e476a | 72 | // set file name of data file |
fe4da5cc | 73 | virtual void SetFileName(const Text_t *filname) {fFileName=filname;} |
299e476a | 74 | // read only fraction of data |
75 | virtual void SetFraction(Float_t frac=1.){fFrac=frac;} | |
76 | // generate event | |
fe4da5cc | 77 | virtual void Generate(); |
78 | ||
299e476a | 79 | ClassDef(AliGenFLUKAsource,1) //Boundary source |
fe4da5cc | 80 | }; |
81 | #endif | |
82 | ||
83 | ||
84 | ||
85 | ||
86 | ||
87 |