]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSModuleCalibrationProcessorComponent.h
New production macros (Yves)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSModuleCalibrationProcessorComponent.h
CommitLineData
1b41ab20 1//-*- Mode: C++ -*-
2// $Id$
3
adbf547d 4/**************************************************************************
5 * This file is property of and copyright by the ALICE HLT Project *
6 * All rights reserved. *
7 * *
8 * Primary Authors: Oystein Djuvsland *
9 * *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
18
19#ifndef ALIHLTPHOSMODULECALIBRATIONPROCESSORCOMPONENT_H
20#define ALIHLTPHOSMODULECALIBRATIONPROCESSORCOMPONENT_H
21
22/**
23 * Module calibration processor component for PHOS HLT
24 *
25 * @file AliHLTPHOSModuleCalibrationProcessorComponent.h
26 * @author Oystein Djuvsland
27 * @date
28 * @brief Module calibration processor component for PHOS HLT
29*/
30
31// see below for class documentation
32// or
33// refer to README to build package
34// or
35// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
36
37#include "AliHLTCalibrationProcessor.h"
38#include "AliHLTPHOSConstants.h"
39
40using namespace PhosHLTConst;
41
42class AliPHOSRcuDA1;
43class AliHLTPHOSSharedMemoryInterface;
44class TObjArray;
45
46class AliHLTPHOSModuleCalibrationProcessorComponent: public AliHLTCalibrationProcessor
47{
48public:
49
50 /** constructor */
51 AliHLTPHOSModuleCalibrationProcessorComponent();
52
53
54 /** destructor */
55 virtual ~AliHLTPHOSModuleCalibrationProcessorComponent();
56
adbf547d 57
58 // Public functions to implement AliHLTComponent's interface.
59 // These functions are required for the registration process
60
61 const char* GetComponentID();
62 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
63 AliHLTComponentDataType GetOutputDataType();
64 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
65 AliHLTComponent* Spawn();
66
67protected:
adbf547d 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 using AliHLTCalibrationProcessor::ProcessCalibration;
79 Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
80
81 /** Ship the data to the FXS at end of run or eventmodulo. */
82 using AliHLTCalibrationProcessor::ShipDataToFXS;
83 Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
84
85 /** Reset the energy and timing arrays */
27029341 86 void ResetArrays(Float_t e[NXCOLUMNSMOD][NZROWSMOD][NGAINS], Float_t t[NXCOLUMNSMOD][NZROWSMOD][NGAINS]);
adbf547d 87 int fCnt; ///TODO, remove this
88
89private:
6e587e00 90 /** not a valid copy constructor, defined according to effective C++ style */
91 AliHLTPHOSModuleCalibrationProcessorComponent(const AliHLTPHOSModuleCalibrationProcessorComponent&);
92 /** not a valid assignment op, but defined according to effective C++ style */
93 AliHLTPHOSModuleCalibrationProcessorComponent& operator=(const AliHLTPHOSModuleCalibrationProcessorComponent&);
adbf547d 94 /** Pointer to the DA */
95 AliPHOSRcuDA1* fPHOSDAPtr; //! transient
96
97 /** Interface to read altro channel data from shared memory */
98 AliHLTPHOSSharedMemoryInterface *fShmPtr; //! transient
99
100};
101
102#endif
103