New classes plus some renamed for a better user friendly interface
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnSimpleAnalysisTaskSE.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * See cxx source for full Copyright notice                               *
4  **************************************************************************/
5
6 //----------------------------------------------------------------------------------
7 //  Class AliRsnSimpleAnalysisTaskSE
8 // ------------------------
9 // Reader for conversion of ESD output into the internal format
10 // used for resonance study.
11 // ---
12 // original author: A. Pulvirenti             (email: alberto.pulvirenti@ct.infn.it)
13 // ---
14 // adapted for Analysis Framework
15 // by    : R. Vernet                          (email: renaud.vernet@cern.ch)
16 //----------------------------------------------------------------------------------
17
18 #ifndef AliRsnSimpleAnalysisTaskSE_H
19 #define AliRsnSimpleAnalysisTaskSE_H
20
21 #include "AliAnalysisTaskSE.h"
22
23 class TList;
24 class AliVEvent;
25 class AliMCEvent;
26 class AliRsnReader;
27 class AliRsnEvent;
28 class AliRsnSimpleAnalyzer;
29
30 class AliRsnSimpleAnalysisTaskSE : public AliAnalysisTaskSE
31 {
32 public:
33
34     AliRsnSimpleAnalysisTaskSE();
35     AliRsnSimpleAnalysisTaskSE(const char *name);
36     virtual ~AliRsnSimpleAnalysisTaskSE() { }
37     
38     // Implementation of interface methods
39     virtual void UserCreateOutputObjects();
40     virtual void UserExec(Option_t *option);
41     
42     // setters
43     Bool_t Configure(const char *configFile = "RsnConfig.C");
44     void   SetReader(AliRsnReader *reader) {fReader = reader;}
45     void   SetPID(AliRsnPID *pid) {fPID = pid;}
46     void   SetAnalyzer(AliRsnSimpleAnalyzer *analyzer) {fAnalyzer = analyzer;}
47     void   PrintSettings();
48     
49 private:
50
51     AliRsnSimpleAnalysisTaskSE(const AliRsnSimpleAnalysisTaskSE&) :
52       AliAnalysisTaskSE(),fReader(0x0),fPID(0x0),fAnalyzer(0x0),fRsnEvent(0x0),fHistograms(0x0)
53       { /*nothing*/ }
54     AliRsnSimpleAnalysisTaskSE& operator=(const AliRsnSimpleAnalysisTaskSE&)
55       { /*nothing*/ return (*this); }
56
57     AliRsnReader*         fReader;     // read manager
58     AliRsnPID*            fPID;        // PID manager
59     AliRsnSimpleAnalyzer* fAnalyzer;   // analyzer
60     AliRsnEvent*          fRsnEvent;   // current event pointer -> for moving among methods
61     TList*                fHistograms; // list of output histograms
62
63     ClassDef(AliRsnSimpleAnalysisTaskSE, 1); // implementation of RsnReader as ReaderTaskSE
64 };
65
66 #endif