-
-protected:
-
- Int_t fIkine; //Flag to choose type of particles to be read in
- // 6 - all particles types
- // 7 - only gammas
- // 8 - only neutrons
- // 9 - only charged particles
- Float_t fAgeMax; //Maximum age of particle
- Float_t fAddWeight; //Add weight for neutrons
- Float_t fZshift; //Shift the Z of impact point by this quantity
- Float_t fFrac;
+public:
+ enum constants {kAll = 6, kGammas = 7, kNeutrons = 8, kCharged = 9, kNoNeutron = 10};
+
+ AliGenFLUKAsource();
+ AliGenFLUKAsource(Int_t npart);
+ AliGenFLUKAsource(const AliGenFLUKAsource &FLUKAsource);
+ virtual ~AliGenFLUKAsource();
+ // Initialise
+ virtual void Init() {}
+ // Initialise fluka data
+ virtual void FlukaInit();
+ // choose particle type
+ virtual void SetPartFlag(Int_t ikine) {fIkine=ikine;}
+ // set time cut
+ virtual void SetAgeMax(Float_t agemax) {fAgeMax=agemax;}
+ // use additional weight on neutrals
+ virtual void SetAddWeight(Float_t addwgt) {fAddWeight=addwgt;}
+ // z-shift of vertex
+ virtual void SetZshift(Float_t zshift) {fZshift=zshift;}
+ // set file name of data file
+ virtual void SetFileName(const Text_t *filname) {fFileName=filname;}
+ // set source
+ virtual void SetSourceId(Int_t id=-1){fSourceId=id;}
+ // add a new source file
+ virtual void AddFile(const Text_t *filname) ;
+ // read only fraction of data
+ virtual void SetFraction(Float_t frac=1.){fFrac=frac;}
+ // generate event
+ virtual void Generate();
+ AliGenFLUKAsource & operator=(const AliGenFLUKAsource & rhs);
+ protected:
+
+ Int_t fIkine; // Flag to choose type of particles to be read
+ Float_t fAgeMax; // Maximum age of particle
+ Float_t fAddWeight; // Add weight for neutrons
+ Float_t fZshift; // Shift the Z of impact point by this quantity
+ Float_t fFrac; // Fraction of file that corresponds to one event
+ Int_t fSourceId; // Source identifier (-1: all sources)
+