]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSCalibrationComponent.cxx
Reimplemented the AliHLTCaloConstants class
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSCalibrationComponent.cxx
CommitLineData
1b41ab20 1// $Id$
2
7062c30e 3
4#include "AliHLTPHOSCalibrationComponent.h"
4f4b7ba4 5#include "AliHLTPHOSConstant.h"
7062c30e 6#include "AliHLTPHOSDefinitions.h"
7#include "AliHLTPHOSEmcCalibData.h"
8
9using namespace std;
10
11AliHLTPHOSCalibrationComponent gAliHLTPHOSCalibrationComponent;
12
13AliHLTPHOSCalibrationComponent::AliHLTPHOSCalibrationComponent() :
14 fEmcCalibData(0)
15{
16}
17
18AliHLTPHOSCalibrationComponent::~AliHLTPHOSCalibrationComponent()
19{
20}
21
22AliHLTPHOSCalibrationComponent::AliHLTPHOSCalibrationComponent(const AliHLTPHOSCalibrationComponent&) :
23 fEmcCalibData(0)
24{
25 HLTFatal("copy constructor untested");
26}
27
28AliHLTPHOSCalibrationComponent& AliHLTPHOSCalibrationComponent::operator=(const AliHLTPHOSCalibrationComponent&)
29{
30 HLTFatal("assignement operator untested");
31}
32
33const char* AliHLTPHOSCalibrationComponent::GetComponentID()
34{
d949e02e 35 return "PhosCalibrationComponent";
7062c30e 36}
37
38void AliHLTPHOSCalibrationComponent::GetInputDataTypes(vector<AliHLTComponentDataType>& list)
39{
40 list.clear();
41 list.push_back(AliHLTPHOSDefinitions::fgkCellEnergyHistogramDataType);
42 list.push_back(AliHLTPHOSDefinitions::fgkCellAverageEnergyDataType);
43 list.push_back(AliHLTPHOSDefinitions::fgkCellAccumulatedEnergyDataType);
44 list.push_back(AliHLTPHOSDefinitions::fgkCellTimingHistogramDataType);
45 list.push_back(AliHLTPHOSDefinitions::fgkCellTimingAverageDataType);
46}
47
48AliHLTComponentDataType AliHLTPHOSCalibrationComponent::GetOutputDataType()
49{
50 return AliHLTPHOSDefinitions::fgkEmcCalibDataType;
51}
52
53void AliHLTPHOSCalibrationComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier)
54{
55 constBase = 0;
56 inputMultiplier = 2;
57}
58
59AliHLTComponent* AliHLTPHOSCalibrationComponent::Spawn()
60{
61 return new AliHLTPHOSCalibrationComponent();
62}
63
64
65Int_t AliHLTPHOSCalibrationComponent::ScanArgument( Int_t argc, const char** argv)
66{
67 return 0;
68}
69
70Int_t AliHLTPHOSCalibrationComponent::InitCalibration()
71{
72 fEmcCalibData = new AliHLTPHOSEmcCalibData();
73
74 return 0;
75}
76
77Int_t AliHLTPHOSCalibrationComponent::DeinitCalibration()
78{
79 return 0;
80}
81
82Int_t AliHLTPHOSCalibrationComponent::ProcessCalibration(const AliHLTComponent_EventData& evtData,
83 const AliHLTComponent_BlockData* blocks,
84 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
85 AliHLTUInt32_t& size,
86 vector<AliHLTComponent_BlockData>& outputBlocks)
87//Int_t AliHLTPHOSCalibrationComponent::ProcessCalibration(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData)
88{
89
90 const AliHLTComponentBlockData* iter = 0;
91
92 for ( int ndx = 0; ndx < evtData.fBlockCnt; ndx++ )
93 {
94 iter = blocks + ndx;
95 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellEnergyHistogramDataType)
96 {
97 for(Int_t mod = 0; mod < N_MODULES; mod++)
98 {
99 for(Int_t x = 0; x < N_XCOLUMNS_MOD; x++)
100 {
101 for(Int_t z = 0; z < N_ZROWS_MOD; z++)
102 {
103 for(Int_t gain = 0; gain < N_GAINS; gain++)
104 {
105 fEmcCalibData->SetADCchannelEnergy(mod, x, z, gain, 1);
106 fEmcCalibData->SetADCpedestalEmcMeasured(mod, x, z, gain, 1);
107 }
108 }
109 }
110 }
111 }
112 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellAverageEnergyDataType)
113 {
114
115 }
116 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellAccumulatedEnergyDataType)
117 {
118
119 }
120 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellTimingHistogramDataType)
121 {
122
123 }
124 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellTimingAverageDataType)
125 {
126
127 }
128 else
129 {
130
131 }
132 }
133
134 PushBack((TObject*) fEmcCalibData, AliHLTPHOSDefinitions::fgkEmcCalibDataType, 0);
135
136 return 0;
137}
138
139Int_t AliHLTPHOSCalibrationComponent::ShipDataToFXS( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/ ) {
140 // see header file for class documentation
141
142 // ** PushBack data to FXS ...
143 PushToFXS( (TObject*) fEmcCalibData, "PHOS", "EmcCalibData" ) ;
144
145 return 0;
146}