test macro to run the EMCAL HLT chain in AliRoot
[u/mrichter/AliRoot.git] / HLT / EMCAL / AliHLTEMCALCalibrationComponent.h
CommitLineData
4a8f32a0 1#ifndef ALIHLTEMCALCALIBRATIONCOMPONENT_H
2#define ALIHLTEMCALCALIBRATIONCOMPONENT_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/** @file AliHLTEMCALCalibrationComponent.h
7 @author Timm Steinbeck, Matthias Richter
8 @date
9 @brief Declaration of a EMCALCalibration component. */
10
11
12#include "AliHLTCalibrationProcessor.h"
13class AliCDBManager;
14
15/**
16 * @class AliHLTEMCALCalibrationComponent
17 * @brief A EMCALCalibration HLT processing component.
18 *
19 * An implementiation of a EMCALCalibration component that just copies its input data
20 * as a test, demonstration, and example of the HLT component scheme.
21 * - @ref InitCalibration (optional)
22 * - @ref ScanArgument (optional)
23 * - @ref DeinitCalibration (optional)
24 * - @ref ProcessCalibration
25 * - @ref ShipDataToFXS
26 * - @ref GetComponentID
27 * - @ref GetInputDataTypes
28 * - @ref GetOutputDataType
29 * - @ref GetOutputDataSize
30 * - @ref Spawn
31 * @ingroup alihlt_tutorial
32 */
33class AliHLTEMCALCalibrationComponent : public AliHLTCalibrationProcessor
34 {
35 public:
36 AliHLTEMCALCalibrationComponent();
37 virtual ~AliHLTEMCALCalibrationComponent();
38
39 // Public functions to implement AliHLTComponent's interface.
40 // These functions are required for the registration process
41
42 const char* GetComponentID();
43 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
44 AliHLTComponent_DataType GetOutputDataType();
45 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
46 AliHLTComponent* Spawn();
47
48 protected:
49
50 // Protected functions to implement AliHLTComponent's interface.
51 // These functions provide initialization as well as the actual processing
52 // capabilities of the component.
53
54 virtual Int_t InitCalibration();
55 virtual Int_t ScanArgument(int argc, const char** argv);
56 virtual Int_t DeinitCalibration();
57/* virtual Int_t ProcessCalibration(const AliHLTComponent_EventData& evtData, */
58/* const AliHLTComponent_BlockData* blocks, */
59/* AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, */
60/* AliHLTUInt32_t& size, */
61/* vector<AliHLTComponent_BlockData>& outputBlocks); */
62 virtual Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
63 virtual Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
64
65 using AliHLTCalibrationProcessor::ProcessCalibration;
66 using AliHLTCalibrationProcessor::ShipDataToFXS;
67
68 private:
69 /** copy constructor prohibited */
70 AliHLTEMCALCalibrationComponent(const AliHLTEMCALCalibrationComponent&);
71 /** assignment operator prohibited */
72 AliHLTEMCALCalibrationComponent& operator=(const AliHLTEMCALCalibrationComponent&);
73
74 // The size of the output data produced, as a percentage of the input data's size.
75 // Can be greater than 100 (%)
76
77 unsigned fOutputPercentage; // Output volume in percentage of the input
78 string fStrorageDBpath; // Default path for OCDB
79 AliCDBManager *fCDB; //! Pointer to OCDB
80
81 ClassDef(AliHLTEMCALCalibrationComponent, 0)
82
83 };
84#endif