c29c9f1931ea7fdfea0287281d401d8d61eb3580
[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     virtual void   NotifyRun();
26
27     void SetOption(const char* opt) { fOption = opt; }
28     
29     void SetPhysicsSelection(AliPhysicsSelection* physicsSelection) { fPhysicsSelection = physicsSelection; }
30     AliPhysicsSelection* GetPhysicsSelection() const { return fPhysicsSelection; }
31     void   SetUseSpecialOutput(Bool_t v=kTRUE)         {fUseSpecialOutput = v;}
32     Bool_t GetUseSpecialOutput()               const { return fUseSpecialOutput; }
33
34  protected:
35     TList* fOutput;                  //! list send on output slot 1
36     TString fOption;                 // option string  
37     Bool_t  fUseSpecialOutput;       // do we use special output instead of merging?
38     AliPhysicsSelection* fPhysicsSelection; // event selection class
39  private:
40     AliPhysicsSelectionTask(const AliPhysicsSelectionTask&);
41     AliPhysicsSelectionTask& operator=(const AliPhysicsSelectionTask&);
42
43   ClassDef(AliPhysicsSelectionTask, 2);
44 };
45
46 #endif