Fixing compiler warnings
[u/mrichter/AliRoot.git] / MUON / AliMUONChamberCalibrationTask.h
1 #ifndef ALIMUONCHAMBERCALIBRATIONTASK_H
2 #define ALIMUONCHAMBERCALIBRATIONTASK_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 /// \ingroup calign
10 /// \class  AliMUONChamberCalibrationTask
11 /// \brief  Definition of the task to extract cluster information 
12 ///  from MCH tracks after applying the calibration on an aligned ESD
13 /// \author Andry Rakotozafindrabe CEA/IRFU/SPhN
14
15 class AliMUONRecoParam;
16 class AliMUONClusterInfo;
17 class AliMUONPadInfo;
18 class AliMUONCalibrationData;
19 class AliMUONESDInterface;
20 class AliMUONVClusterStore;
21 class AliMUONVDigitStore;
22 class AliMUONTrack;
23
24 class AliESDInputHandler;
25 class AliESDEvent;
26
27 #include "AliAnalysisTaskSE.h"
28 #include "TTree.h" 
29
30 class AliMUONChamberCalibrationTask : public AliAnalysisTaskSE
31 {
32
33  public:
34
35   // enumarate the list of the available modes for the calibration
36   enum Calibration_t { NOGAIN, GAINCONSTANTCAPA, GAIN, INJECTIONGAIN }; 
37   typedef Calibration_t Calibration_t;
38
39   // Constructors
40   AliMUONChamberCalibrationTask();
41   AliMUONChamberCalibrationTask( const char* name, 
42                                  char* ocdbpath, 
43                                  const Int_t my_calib_option );
44
45   // Destructor
46   virtual ~AliMUONChamberCalibrationTask();
47
48   // Implementation of interface methods
49   virtual void CreateOutputObjects(); 
50   virtual void LocalInit(); 
51   virtual void ConnectInputData( Option_t* option = "" );
52   virtual void Exec( Option_t* option  = "" ); 
53   virtual void Terminate( Option_t* option = "" ); 
54
55   // Getters
56   TTree* OutputTree() { return fClusterInfoTree; }
57
58   UInt_t BuildClusterMap( AliMUONTrack &track );
59
60  private:
61   /// Not implemented
62   AliMUONChamberCalibrationTask(const AliMUONChamberCalibrationTask& right);
63   /// Not implemented
64   AliMUONChamberCalibrationTask&  operator = (const AliMUONChamberCalibrationTask& right);
65
66   char* fOCDBPath;                      //!< default path to the condition database
67   Calibration_t fCalibChoice;           //!< calibration option
68   TTree* fClusterInfoTree;              //!< TTree filled with the cluster information
69   AliMUONRecoParam* fMuonRecoParam;     //!< reconstruction parameters for track refitting
70   AliMUONClusterInfo* fClusterInfo;     //!< cluster info used to fill the output TTree
71   AliMUONCalibrationData* fCalibData;   //!< needed to access to the calibration data for each pad within each cluster
72   AliMUONESDInterface* fESDInterface;   //!< interface to easily access to the ESD content
73   AliMUONVDigitStore* fDigitStore;      //<! pointer to the digit stored for the current input ESD event 
74   AliESDInputHandler* fESDInputHandler; //!< ESD input handler
75   AliESDEvent* fESDInputEvent;          //!< pointer to the current input ESD event
76
77   ClassDef( AliMUONChamberCalibrationTask, 1 ) // Task to extract cluster information after applying calibration
78
79 };
80
81
82 #endif