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