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;
30 * @class AliHLTTPCCalibTimeGainComponent
32 * Interface of the offline algorithm (AliTPCcalibTimeGain) for updating
33 * the TPC gain as a function of time.
35 * @ingroup alihlt_tpc_components
37 class AliHLTTPCCalibTimeGainComponent : public AliHLTCalibrationProcessor
41 AliHLTTPCCalibTimeGainComponent();
43 virtual ~AliHLTTPCCalibTimeGainComponent();
45 const char* GetComponentID();
46 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
47 AliHLTComponentDataType GetOutputDataType();
48 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
49 AliHLTComponent* Spawn();
53 using AliHLTCalibrationProcessor::ProcessCalibration;
54 using AliHLTCalibrationProcessor::ShipDataToFXS;
56 /** Initialize the calibration component. */
57 Int_t InitCalibration();
59 /** Scan commandline arguments of the calibration component. */
60 Int_t ScanArgument( Int_t argc, const char** argv );
62 /** DeInitialize the calibration component. */
63 Int_t DeinitCalibration();
65 /** Process the data in the calibration component. */
66 Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
68 /** Ship the data to the FXS at end of run or eventmodulo. */
69 Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
72 /** copy constructor prohibited */
73 AliHLTTPCCalibTimeGainComponent(const AliHLTTPCCalibTimeGainComponent&);
74 /** assignment operator prohibited */
75 AliHLTTPCCalibTimeGainComponent& operator=(const AliHLTTPCCalibTimeGainComponent&);
77 AliTPCcalibTimeGain *fCalibTimeGain; //!transient
78 AliESDEvent *fESDEvent; //!transient
79 TObjArray *fSeedArray; //!transient
81 AliHLTUInt8_t fMinPartition; // see above
82 AliHLTUInt8_t fMaxPartition; // see above
83 AliHLTUInt8_t fMinSlice; // see above
84 AliHLTUInt8_t fMaxSlice; // see above
85 AliHLTUInt32_t fSpecification; // see above
87 /** Analyze calibration data before shipping to FXS */
88 Bool_t fEnableAnalysis; // see above
90 ClassDef(AliHLTTPCCalibTimeGainComponent, 0)