Line data Source code
1 : #ifndef ALIEVENTPOOLLOOP_H
2 : #define ALIEVENTPOOLLOOP_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 which allows the user to
10 : // run the analysis in a loop, i.e. passing several times over
11 : // the same event chain.
12 : // Author Andreas Morsch
13 : // andreas.morsch@cern.ch
14 :
15 : #include <AliVEventPool.h>
16 : class AliRunTagCuts;
17 : class AliLHCTagCuts;
18 : class AliDetectorTagCuts;
19 : class AliEventTagCuts;
20 : class AliTagAnalysis;
21 : class TChain;
22 :
23 : class AliEventPoolLoop : public AliVEventPool
24 : {
25 : public:
26 : AliEventPoolLoop();
27 : AliEventPoolLoop(Int_t nit);
28 : AliEventPoolLoop(const char* name, const char* title);
29 :
30 0 : virtual ~AliEventPoolLoop() {;}
31 : // Interface
32 : virtual TChain* GetNextChain();
33 : virtual void GetCurrentBin(Float_t* /*bin*/);
34 : virtual Int_t GetDimension();
35 : virtual void Init();
36 0 : virtual Int_t BinNumber() const {return fNIteration;}
37 :
38 : private:
39 : AliEventPoolLoop(const AliEventPoolLoop& obj);
40 : AliEventPoolLoop& operator=(const AliEventPoolLoop& other);
41 : protected:
42 : Int_t fMaxIterations; // Maximum number of iterations
43 : Int_t fNIteration; // Number of iterations
44 : TChain* fChainClone; // Clone of the original
45 170 : ClassDef(AliEventPoolLoop, 0);
46 : };
47 :
48 : #endif
|