]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVGEN/AliGenFLUKAsource.h
Add the number of local boards
[u/mrichter/AliRoot.git] / EVGEN / AliGenFLUKAsource.h
CommitLineData
f87cfe57 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
f87cfe57 8
675e9664 9// Read background particles from a FLUKA boundary source file
10// This is a very special generator that works for background studies for the muon-spectrometer
11// Ask: andreas.morsch@cern.ch
12
fe4da5cc 13#include "AliGenerator.h"
65fb704d 14class TChain;
f87cfe57 15class TTree;
fe4da5cc 16class AliGenFLUKAsource : public AliGenerator
675e9664 17
fe4da5cc 18{
fe4da5cc 19public:
09d89034 20 enum constants {kAll = 6, kGammas = 7, kNeutrons = 8, kCharged = 9, kNoNeutron = 10};
21
22 AliGenFLUKAsource();
23 AliGenFLUKAsource(Int_t npart);
93a2041b 24 virtual ~AliGenFLUKAsource();
09d89034 25 // Initialise
26 virtual void Init() {}
27 // Initialise fluka data
28 virtual void FlukaInit();
29 // choose particle type
30 virtual void SetPartFlag(Int_t ikine) {fIkine=ikine;}
31 // set time cut
32 virtual void SetAgeMax(Float_t agemax) {fAgeMax=agemax;}
33 // use additional weight on neutrals
34 virtual void SetAddWeight(Float_t addwgt) {fAddWeight=addwgt;}
35 // z-shift of vertex
36 virtual void SetZshift(Float_t zshift) {fZshift=zshift;}
37 // set file name of data file
38 virtual void SetFileName(const Text_t *filname) {fFileName=filname;}
39 // set source
40 virtual void SetSourceId(Int_t id=-1){fSourceId=id;}
41 // add a new source file
42 virtual void AddFile(const Text_t *filname) ;
43 // read only fraction of data
44 virtual void SetFraction(Float_t frac=1.){fFrac=frac;}
45 // generate event
46 virtual void Generate();
0af12c00 47
09d89034 48 protected:
49
50 Int_t fIkine; // Flag to choose type of particles to be read
51 Float_t fAgeMax; // Maximum age of particle
52 Float_t fAddWeight; // Add weight for neutrons
53 Float_t fZshift; // Shift the Z of impact point by this quantity
54 Float_t fFrac; // Fraction of file that corresponds to one event
55 Int_t fSourceId; // Source identifier (-1: all sources)
f87cfe57 56
57
09d89034 58 const Text_t *fFileName; //!Choose the file
59 TChain *fTreeChain; //file chaining
60 TTree *fTreeFluka; //pointer to the TTree
f87cfe57 61//Declaration of variables read from the file -- TTree type
09d89034 62 Float_t fIp; // Particle type
63 Float_t fIpp; // Primary particle type
64 Float_t fXi; // x-Impact
65 Float_t fYi; // y-Impact
66 Float_t fZi; // z-Impact
67 Float_t fPx; // Direction cosine x
68 Float_t fPy; // Direction cosine y
69 Float_t fPz; // Direction cosine z
70 Float_t fEkin; // Kinetic energy
71 Float_t fZv; // z-Position of particle vertex
72 Float_t fRv; // r-Position of particle vertex
73 Float_t fItra; // Primary track number
74 Float_t fIgas; // Volume identifier
75 Float_t fWgt; // Particle weight
76 Float_t fEtag; // Pseudorapidity of primary particle
77 Float_t fPtg; // Pt of primary particle
78 Float_t fAge; // Time of flight
79
0af12c00 80 private:
93a2041b 81 AliGenFLUKAsource(const AliGenFLUKAsource &FLUKAsource);
82 AliGenFLUKAsource & operator=(const AliGenFLUKAsource & rhs);
09d89034 83
84 ClassDef(AliGenFLUKAsource,1) //Boundary source
fe4da5cc 85};
86#endif
87
88
89
90
91
92