707f99e717a740fbf31a18f434efff6768fa178a
[u/mrichter/AliRoot.git] / ANALYSIS / AliEventPoolOTF.h
1 #ifndef ALIEVENTPOOLOTF_H
2 #define ALIEVENTPOOLOTF_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 // Realisation of an AliVEventPool via
10 // on the flight (OTF) generation of the bin using AliTagAnalysis.
11 // Author Andreas Morsch
12 // andreas.morsch@cern.ch
13
14 #include <AliVEventPool.h>
15 class AliRunTagCuts;
16 class AliLHCTagCuts;
17 class AliDetectorTagCuts;
18 class AliEventTagCuts;
19 class AliTagAnalysis;
20
21 class AliEventPoolOTF : public AliVEventPool
22 {
23  public:
24     AliEventPoolOTF();
25     AliEventPoolOTF(const char* name, const char* title);
26
27     virtual ~AliEventPoolOTF() {;}
28     // Interface
29     virtual TChain* GetNextChain();
30     virtual void  GetCurrentBin(Float_t* /*bin*/);
31     virtual Int_t GetDimension();
32     virtual void  Init();
33     virtual void  SetMultiplicityBin(Int_t min, Int_t max, Int_t step)
34         {fMultMin = min; fMultMax = max; fMultStep = step;}
35     //
36     void SetTagDirectory(const char* dirname) {fTagDirectory = dirname;};
37     virtual Int_t BinNumber() const {return fBinNumber;}
38             
39  private:
40     AliEventPoolOTF(const AliEventPoolOTF& obj);
41     AliEventPoolOTF& operator=(const AliEventPoolOTF& other);
42  protected:
43     AliTagAnalysis*      fTagAnalysis;  // Pointer to tag analysis
44     AliRunTagCuts*       fRunCuts;      // Run      cuts
45     AliLHCTagCuts*       fLHCCuts;      // LHC      cuts
46     AliDetectorTagCuts*  fDetectorCuts; // Detector cuts
47     AliEventTagCuts*     fEventCuts;    // Event    cuts
48     const char*                fTagDirectory; // Directory with local tag files
49     Int_t                fMultMin;      // Minimum multiplicity
50     Int_t                fMultMax;      // Maximum multiplicity
51     Int_t                fMultStep;     // Multiplicity step-size 
52     Int_t                fMultiplicity; // Current multiplicity
53     Int_t                fBinNumber;    // Current bin number
54     
55     ClassDef(AliEventPoolOTF, 0); 
56 };
57  
58 #endif