3 #ifndef ALIHLTTPCCALIBTIMECOMPONENT_H
4 #define ALIHLTTPCCALIBTIMECOMPONENT_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 AliHLTTPCCalibTimeComponent.h
11 @author Kalliopi Kanaki
13 @brief A calibration component for interfacing the offline calculation of TPC drift velocity 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 AliTPCcalibTime;
25 class AliTPCcalibCalib;
26 class AliExternalTrackParam;
30 class AliESDfriendTrack;
34 * @class AliHLTTPCCalibTimeComponent
36 * Interface of the offline algorithm (AliTPCcalibTime) for correcting the
37 * drift velocity for changes of p and T as a function of
40 * @ingroup alihlt_tpc_components
42 class AliHLTTPCCalibTimeComponent : public AliHLTCalibrationProcessor
46 AliHLTTPCCalibTimeComponent();
48 virtual ~AliHLTTPCCalibTimeComponent();
50 const char* GetComponentID();
51 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
52 AliHLTComponentDataType GetOutputDataType();
53 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
54 AliHLTComponent* Spawn();
58 using AliHLTCalibrationProcessor::ProcessCalibration;
59 using AliHLTCalibrationProcessor::ShipDataToFXS;
61 // Protected functions to implement AliHLTComponent's interface.
62 // These functions provide initialization as well as the actual processing
63 // capabilities of the component.
65 /** Initialize the calibration component. */
66 Int_t InitCalibration();
68 /** Scan commandline arguments of the calibration component. */
69 Int_t ScanArgument( Int_t argc, const char** argv );
71 /** DeInitialize the calibration component. */
72 Int_t DeinitCalibration();
74 /** Process the data in the calibration component. */
75 Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
77 /** Ship the data to the FXS at end of run or eventmodulo. */
78 Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
81 /** copy constructor prohibited */
82 AliHLTTPCCalibTimeComponent(const AliHLTTPCCalibTimeComponent&);
83 /** assignment operator prohibited */
84 AliHLTTPCCalibTimeComponent& operator=(const AliHLTTPCCalibTimeComponent&);
86 AliTPCcalibTime *fCalibTime; //!transient
87 AliTPCcalibCalib *fCal; //!transient
88 AliESDEvent *fESDevent; //!transient
89 AliESDtrack *fESDtrack; //!transient
90 AliESDfriendTrack *fESDfriendTrack; //!transient
91 AliESDfriend *fESDfriend; //!transient
92 TObjArray *fSeedArray; //!transient
94 ClassDef(AliHLTTPCCalibTimeComponent, 2)