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