]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCCalibCEComponent.h
Remove compilser warnings
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCCalibCEComponent.h
CommitLineData
28355ac2 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTTPCCALIBCECOMPONENT_H
4#define ALIHLTTPCCALIBCECOMPONENT_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 AliHLTTPCCalibCEComponent.h
11 @author Jochen Thaeder
12 @date
13 @brief A pedestal calibration component for the TPC.
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"
23
24class AliTPCRawStream;
25class AliRawReaderMemory;
26class AliTPCCalibCE;
27
28/**
29 * @class AliHLTTPCCalibCEComponent
30 *
31 * This class is the calibration component for the AliTPCCalibCE class
32 * used for central electrode calibration of the TPC.
33 *
34 * It inherits from the AliHLTCalibrationProcessor and uses the high-level
35 * interface. The output is the class AliTPCCalibCE as a TObject.
36 *
37 * The component has the following component arguments:
28355ac2 38 * -enableanalysis : Whether to enable analyis before shipping data to FXS
39 *
2efb85be 40 * @ingroup alihlt_tpc_components
28355ac2 41 */
42class AliHLTTPCCalibCEComponent : public AliHLTCalibrationProcessor
43 {
44 public:
45 /** constructor */
46 AliHLTTPCCalibCEComponent();
47 /** destructor */
48 virtual ~AliHLTTPCCalibCEComponent();
49
50 // Public functions to implement AliHLTComponent's interface.
51 // These functions are required for the registration process
52
53 const char* GetComponentID();
54 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
55 AliHLTComponentDataType GetOutputDataType();
56 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
57 AliHLTComponent* Spawn();
58
59 protected:
60
61 using AliHLTCalibrationProcessor::ProcessCalibration;
62 using AliHLTCalibrationProcessor::ShipDataToFXS;
63
64 // Protected functions to implement AliHLTComponent's interface.
65 // These functions provide initialization as well as the actual processing
66 // capabilities of the component.
67
68 /** Initialize the calibration component. */
69 Int_t InitCalibration();
70
71 /** Scan commandline arguments of the calibration component. */
72 Int_t ScanArgument( Int_t argc, const char** argv );
73
74 /** DeInitialize the calibration component. */
75 Int_t DeinitCalibration();
76
77 /** Process the data in the calibration component. */
78 Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
79
80 /** Ship the data to the FXS at end of run or eventmodulo. */
81 Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
82
83 private:
84 /** copy constructor prohibited */
85 AliHLTTPCCalibCEComponent(const AliHLTTPCCalibCEComponent&);
86 /** assignment operator prohibited */
87 AliHLTTPCCalibCEComponent& operator=(const AliHLTTPCCalibCEComponent&);
88
89 /** The reader object for reading from memory */
90 AliRawReaderMemory* fRawReader; //!transient
91
92 /** The reader object for reading TPC raw data */
93 AliTPCRawStream* fRawStream; //!transient
94
95 /** Pedestal Calibration class */
96 AliTPCCalibCE * fCalibCE; //!transient
97
28355ac2 98 /** Minimum patch specifcation for this component */
99 AliHLTUInt8_t fMinPatch; // see above
100
101 /** Minimum patch specifcation for this component */
102 AliHLTUInt8_t fMaxPatch; // see above
103
104 /** The Specification for this component */
105 AliHLTUInt32_t fSpecification; // see above
106
107 /** Analysze calibration data before shipping to FXS */
108 Bool_t fEnableAnalysis; // see above
109
9a090ccd 110 ClassDef(AliHLTTPCCalibCEComponent, 2)
28355ac2 111
112 };
113#endif