3 #ifndef ALIHLTTPCCALIBTIMEGAINCOMPONENT_H
4 #define ALIHLTTPCCALIBTIMEGAINCOMPONENT_H
6 /* This file is property of and copyright by the ALICE HLT Project *
7 * ALICE Experiment at CERN, All rights reserved. *
8 * See cxx source for full Copyright notice */
10 /** @file AliHLTTPCCalibTimeGainComponent.h
11 @author Kalliopi Kanaki
13 @brief A calibration component for interfacing the offline calculation of TPC gain correction
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliHLTCalibrationProcessor.h"
24 class AliTPCcalibTimeGain;
25 class AliExternalTrackParam;
29 * @class AliHLTTPCCalibTimeGainComponent
31 * Interface of the offline algorithm (AliTPCcalibTimeGain) for updating
32 * the TPC gain as a function of time.
34 * @ingroup alihlt_tpc_components
36 class AliHLTTPCCalibTimeGainComponent : public AliHLTCalibrationProcessor
40 AliHLTTPCCalibTimeGainComponent();
42 virtual ~AliHLTTPCCalibTimeGainComponent();
44 const char* GetComponentID();
45 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
46 AliHLTComponentDataType GetOutputDataType();
47 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
48 AliHLTComponent* Spawn();
52 using AliHLTCalibrationProcessor::ProcessCalibration;
53 using AliHLTCalibrationProcessor::ShipDataToFXS;
55 /** Initialize the calibration component. */
56 Int_t InitCalibration();
58 /** Scan commandline arguments of the calibration component. */
59 Int_t ScanArgument( Int_t argc, const char** argv );
61 /** DeInitialize the calibration component. */
62 Int_t DeinitCalibration();
64 /** Process the data in the calibration component. */
65 Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
67 /** Ship the data to the FXS at end of run or eventmodulo. */
68 Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
71 /** copy constructor prohibited */
72 AliHLTTPCCalibTimeGainComponent(const AliHLTTPCCalibTimeGainComponent&);
73 /** assignment operator prohibited */
74 AliHLTTPCCalibTimeGainComponent& operator=(const AliHLTTPCCalibTimeGainComponent&);
76 AliTPCcalibTimeGain *fCalibTimeGain; //!transient
77 AliESDEvent *fESDEvent; //!transient
79 AliHLTUInt8_t fMinPartition; // see above
80 AliHLTUInt8_t fMaxPartition; // see above
81 AliHLTUInt8_t fMinSlice; // see above
82 AliHLTUInt8_t fMaxSlice; // see above
83 AliHLTUInt32_t fSpecification; // see above
85 /** Analyze calibration data before shipping to FXS */
86 Bool_t fEnableAnalysis; // see above
88 ClassDef(AliHLTTPCCalibTimeGainComponent, 0)