]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDCalibFitComponent.h
new centrality selection
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDCalibFitComponent.h
CommitLineData
cad0c17d 1//-*- Mode: C++ -*-
2// $Id: AliHLTTRDCalibFitComponent.h 40269 2010-04-08 22:08:53Z richterm $
3
4#ifndef ALIHLTTRDCALIBFITCOMPONENT_H
5#define ALIHLTTRDCALIBFITCOMPONENT_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 *
9
10// @file AliHLTTRDCalibFitComponent.h
11// @author
12// @date
13// @brief Declaration of a TRDCalibration component.
14//
15
16
17#include "AliHLTCalibrationProcessor.h"
18class AliCDBManager;
19class AliTRDCalibraFillHisto;
20class TClonesArray;
21
22/**
23 * @class AliHLTTRDCalibFitComponent
24 * @brief A TRDCalibration HLT processing component.
25 *
26 * - @ref InitCalibration (optional)
27 * - @ref ScanArgument (optional)
28 * - @ref DeinitCalibration (optional)
29 * - @ref ProcessCalibration
30 * - @ref ShipDataToFXS
31 * - @ref GetComponentID
32 * - @ref GetInputDataTypes
33 * - @ref GetOutputDataType
34 * - @ref GetOutputDataSize
35 * - @ref Spawn
36 * @ingroup alihlt_tutorial
37 */
38class AliHLTTRDCalibFitComponent : public AliHLTCalibrationProcessor
39{
40public:
41 AliHLTTRDCalibFitComponent();
42 virtual ~AliHLTTRDCalibFitComponent();
43
44 // Public functions to implement AliHLTComponent's interface.
45 // These functions are required for the registration process
46
47 const char* GetComponentID();
48 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
49 AliHLTComponentDataType GetOutputDataType();
50 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
51 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
52 AliHLTComponent* Spawn();
53
54protected:
55
56 // Protected functions to implement AliHLTComponent's interface.
57 // These functions provide initialization as well as the actual processing
58 // capabilities of the component.
59
60 virtual Int_t InitCalibration();
61 virtual Int_t DeinitCalibration();
62 virtual Int_t ProcessCalibration(const AliHLTComponent_EventData& evtData,
63 const AliHLTComponent_BlockData* blocks,
64 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
65 AliHLTUInt32_t& size,
66 vector<AliHLTComponent_BlockData>& outputBlocks);
67 /* virtual Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); */
68 virtual Int_t ShipDataToFXS(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
69 virtual Int_t EORCalibration();
70
71 using AliHLTCalibrationProcessor::ProcessCalibration;
72 //using AliHLTCalibrationProcessor::ShipDataToFXS;
73
74private:
75 /** copy constructor prohibited */
76 AliHLTTRDCalibFitComponent(const AliHLTTRDCalibFitComponent&);
77 /** assignment operator prohibited */
78 AliHLTTRDCalibFitComponent& operator=(const AliHLTTRDCalibFitComponent&);
79
80 AliHLTUInt32_t fOutputSize; // output size
81 TObjArray* fOutArray; // array containing the output
cad0c17d 82 TObjArray* fAfterRunArray; // array with after run processing output
f6fabf3a 83 Bool_t fIncSM[18]; // array for telling which super module was already added
84 Int_t fNoOfSM; // number of known SM
85 Int_t fNoOfIncSM; // number of SM already added
cad0c17d 86
87 ClassDef(AliHLTTRDCalibFitComponent, 2)
88
89};
90#endif
91