]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/MUON/OnlineAnalysis/AliHLTMUONTrackerCalibratorComponent.h
No optimization with g95
[u/mrichter/AliRoot.git] / HLT / MUON / OnlineAnalysis / AliHLTMUONTrackerCalibratorComponent.h
1 #ifndef ALIHLTMUONTRACKERCALIBRATIONCOMPONENT_H
2 #define ALIHLTMUONTRACKERCALIBRATIONCOMPONENT_H
3 /* This file is property of and copyright by the ALICE HLT Project        *
4  * ALICE Experiment at CERN, All rights reserved.                         *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 ///
10 /// @file   AliHLTMUONTrackerCalibratorComponent.h
11 /// @author Artur Szostak <artursz@iafrica.com>
12 /// @date   
13 /// @brief  The calibration component for the muon tracking stations.
14 ///
15
16 #include "AliHLTCalibrationProcessor.h"
17
18 class TFitter;
19
20 /**
21  * @class AliHLTMUONTrackerCalibratorComponent
22  *
23  * This class addapts the code found in MUON/MUONTRKda.cxx
24  */
25 class AliHLTMUONTrackerCalibratorComponent : public AliHLTCalibrationProcessor
26 {
27 public:
28
29         AliHLTMUONTrackerCalibratorComponent();
30         virtual ~AliHLTMUONTrackerCalibratorComponent();
31         
32         // Public functions to implement AliHLTComponent's interface.
33         // These functions are required for the registration process
34         
35         virtual const char* GetComponentID();
36         virtual void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
37         virtual AliHLTComponentDataType GetOutputDataType();
38         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
39         virtual AliHLTComponent* Spawn();
40         
41 protected:
42         
43         using AliHLTCalibrationProcessor::ProcessCalibration;
44         using AliHLTCalibrationProcessor::ShipDataToFXS;
45         
46         // Protected functions to implement AliHLTCalibrationProcessor's interface.
47         // These functions provide initialization as well as the actual processing
48         // capabilities of the component.
49         
50         virtual Int_t InitCalibration();
51         virtual Int_t DeinitCalibration();
52         virtual Int_t ScanArgument(int argc, const char** argv);
53         virtual Int_t ProcessCalibration(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
54         virtual Int_t ShipDataToFXS(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
55         
56 private:
57
58         // Do not allow copying of this class.
59         AliHLTMUONTrackerCalibratorComponent(const AliHLTMUONTrackerCalibratorComponent& /*obj*/);
60         AliHLTMUONTrackerCalibratorComponent& operator = (const AliHLTMUONTrackerCalibratorComponent& /*obj*/);
61         
62         TFitter* fFitter;  //! Fitter used for gain calibration.
63         Int_t fSkipEvents;  //! Number of events to skip initially.
64         Int_t fMaxEvents;   //! Maximum number of events to process.
65         
66         TString fFlatOutputFile;   //! Flat file name.
67         TString fCrocusOutputFile; //! Crocus command file name.
68         TString fCrocusConfigFile; //! Crocus config file name.
69         
70         Int_t fInjCharge;  //! Injection charge.
71         Double_t fNoSigma; //! Number of sigmas.
72         Int_t fThreshold;  //! Threshold.
73         
74         ClassDef(AliHLTMUONTrackerCalibratorComponent, 0); // The online calibration processing component for the muon trigger.
75
76 };
77
78 #endif // ALIHLTMUONTRACKERCALIBRATIONCOMPONENT_H