Added possibility to redirec the output to special file (to avoid merging on CAF)
[u/mrichter/AliRoot.git] / ANALYSIS / AliPhysicsSelectionTask.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4
5 /* $Id$ */
6
7 #ifndef ALIPHYSICSSELECTIONTASK_H
8 #define ALIPHYSICSSELECTIONTASK_H
9
10 #include "AliAnalysisTaskSE.h"
11
12 class AliPhysicsSelection;
13
14 class AliPhysicsSelectionTask : public AliAnalysisTaskSE {
15   public:
16     AliPhysicsSelectionTask();
17     AliPhysicsSelectionTask(const char* opt);
18
19     virtual ~AliPhysicsSelectionTask();
20
21     virtual void   UserCreateOutputObjects();
22     virtual void   UserExec(Option_t*);
23     virtual void   FinishTaskOutput();
24     virtual void   Terminate(Option_t*);
25
26     void SetOption(const char* opt) { fOption = opt; }
27     
28     void SetPhysicsSelection(AliPhysicsSelection* physicsSelection) { fPhysicsSelection = physicsSelection; }
29     AliPhysicsSelection* GetPhysicsSelection() const { return fPhysicsSelection; }
30     void   SetUseSpecialOutput(Bool_t v=kTRUE)         {fUseSpecialOutput = v;}
31     Bool_t GetUseSpecialOutput()               const { return fUseSpecialOutput; }
32
33  protected:
34     TList* fOutput;                  //! list send on output slot 1
35     TString fOption;                 // option string  
36     Bool_t  fUseSpecialOutput;       // do we use special output instead of merging?
37     AliPhysicsSelection* fPhysicsSelection; // event selection class
38
39  private:
40     AliPhysicsSelectionTask(const AliPhysicsSelectionTask&);
41     AliPhysicsSelectionTask& operator=(const AliPhysicsSelectionTask&);
42
43   ClassDef(AliPhysicsSelectionTask, 1);
44 };
45
46 #endif