]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliEmcalJetUtility.h
Reorganization of the EMCal jet finder task: the manin task only performs the basic...
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliEmcalJetUtility.h
1 #ifndef ALIEMCALJETUTILITY_H
2 #define ALIEMCALJETUTILITY_H
3
4 #include <TNamed.h>
5
6 #include "AliFJWrapper.h"
7
8 class AliEmcalJetTask;
9 class AliEmcalJet;
10 class AliFJWrapper;
11
12 class AliEmcalJetUtility : public TNamed
13 {
14  public:
15
16   AliEmcalJetUtility();
17   AliEmcalJetUtility(const char* name);
18   AliEmcalJetUtility(const AliEmcalJetUtility &jet);
19   AliEmcalJetUtility& operator=(const AliEmcalJetUtility &jet);
20   ~AliEmcalJetUtility() {;}
21
22   virtual void Init() = 0;                                                        // Executed only once at the end of AliEmcalJetTask::DoInit()
23   virtual void Prepare(AliFJWrapper& fjw) = 0;                                    // Executed for each event at the beginning of AliEmcalJetTask::FillJetBranch()
24   virtual void ProcessJet(AliEmcalJet* jet, Int_t ij, AliFJWrapper& fjw) = 0;     // Executed for each jet in the loop in AliEmcalJetTask::FillJetBranch()
25   virtual void Terminate(AliFJWrapper& fjw) = 0;                                  // Executed for each event at the end of AliEmcalJetTask::FillJetBranch()
26
27   void SetJetTask(AliEmcalJetTask* jetTask) { fJetTask = jetTask; }
28
29  protected:
30
31   AliEmcalJetTask       *fJetTask     ; // pointer to the main jet task
32   Bool_t                 fInit        ; //! whether or not the utility has been initialized
33
34   ClassDef(AliEmcalJetUtility, 1) // Abstract Emcal jet utility class
35 };
36 #endif