1 #ifndef AliGenFLUKAsource_H
2 #define AliGenFLUKAsource_H
3 /////////////////////////////////////////////////////////
4 // Manager and hits classes for set:MUON version 0 //
5 /////////////////////////////////////////////////////////
6 #include "AliGenerator.h"
12 // Read background particles from a FLUKA boundary source file
14 class AliGenFLUKAsource : public AliGenerator
19 Int_t fIkine; //Flag to choose type of particles to be read in
20 // 6 - all particles types
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
29 const Text_t *fFileName; //!Choose the file
31 TTree *fTreeFluka; //pointer to the TTree
32 //Declaration of variables read from the file -- TTree type
53 AliGenFLUKAsource(Int_t npart);
54 virtual ~AliGenFLUKAsource();
56 virtual void Init() {}
57 // Initialise fluka data
58 virtual void FlukaInit();
59 // choose particle type
60 virtual void SetPartFlag(Int_t ikine) {fIkine=ikine;}
62 virtual void SetAgeMax(Float_t agemax) {fAgeMax=agemax;}
63 // use additional weight on neutrals
64 virtual void SetAddWeight(Float_t addwgt) {fAddWeight=addwgt;}
66 virtual void SetZshift(Float_t zshift) {fZshift=zshift;}
67 // set file name of data file
68 virtual void SetFileName(const Text_t *filname) {fFileName=filname;}
69 // read only fraction of data
70 virtual void SetFraction(Float_t frac=1.){fFrac=frac;}
72 virtual void Generate();
74 ClassDef(AliGenFLUKAsource,1) //Boundary source