]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/calibration/AliHLTTPCCalibrationComponent.h
Fixing coverity defects 24797 and 24795
[u/mrichter/AliRoot.git] / HLT / TPCLib / calibration / AliHLTTPCCalibrationComponent.h
CommitLineData
9b99ccf1 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTTPCCALIBRATIONCOMPONENT_H
4#define ALIHLTTPCCALIBRATIONCOMPONENT_H
5
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 */
9
10/** @file AliHLTTPCCalibrationComponent.h
11 @author Kalliopi Kanaki
12 @date
13 @brief
14*/
15
16// see below for class documentation
17// or
18// refer to README to build package
19// or
20// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21
22#include "AliHLTCalibrationProcessor.h"
23class AliTPCcalibTime;
24class AliTPCcalibTimeGain;
25class AliHLTTPCAnalysisTaskcalib;
26class AliESDEvent;
27class TObjArray;
28
29/**
30 * @class AliHLTTPCCalibrationComponent
31 *
32 * Interface of the offline algorithm (AliTPCcalibTimeGain) for updating
33 * the TPC gain as a function of time.
34 *
35 * @ingroup alihlt_tpc_components
36 */
37class AliHLTTPCCalibrationComponent : public AliHLTCalibrationProcessor
38 {
39 public:
40 /** constructor */
41 AliHLTTPCCalibrationComponent();
42 /** destructor */
43 virtual ~AliHLTTPCCalibrationComponent();
44
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();
50
51 protected:
52
53 using AliHLTCalibrationProcessor::ProcessCalibration;
54 using AliHLTCalibrationProcessor::ShipDataToFXS;
55
56 /** Initialize the calibration component. */
57 Int_t InitCalibration();
58
59 /** Scan commandline arguments of the calibration component. */
60 Int_t ScanArgument( Int_t argc, const char** argv );
61
62 /** DeInitialize the calibration component. */
63 Int_t DeinitCalibration();
64
65 /** Process the data in the calibration component. */
66 Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
67
68 /** Ship the data to the FXS at end of run or eventmodulo. */
69 Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
70
71 private:
72 /** copy constructor prohibited */
73 AliHLTTPCCalibrationComponent(const AliHLTTPCCalibrationComponent&);
74 /** assignment operator prohibited */
75 AliHLTTPCCalibrationComponent& operator=(const AliHLTTPCCalibrationComponent&);
76
77 AliHLTTPCAnalysisTaskcalib *fCalibTask;
78 AliTPCcalibTime *fCalibTime;
79 AliTPCcalibTimeGain *fCalibTimeGain;
80
81 AliESDEvent *fESDEvent; //!transient
82 TObjArray *fSeedArray; //!transient
83
84 AliHLTUInt8_t fMinPartition; // see above
85 AliHLTUInt8_t fMaxPartition; // see above
86 AliHLTUInt8_t fMinSlice; // see above
87 AliHLTUInt8_t fMaxSlice; // see above
88 AliHLTUInt32_t fSpecification; // see above
89
90 /** Analyze calibration data before shipping to FXS */
91 Bool_t fEnableAnalysis; // see above
92
93 ClassDef(AliHLTTPCCalibrationComponent, 0)
94 };
95#endif