]>
Commit | Line | Data |
---|---|---|
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 | ||
9 | using namespace std; | |
10 | ||
11 | AliHLTPHOSCalibrationComponent gAliHLTPHOSCalibrationComponent; | |
12 | ||
13 | AliHLTPHOSCalibrationComponent::AliHLTPHOSCalibrationComponent() : | |
14 | fEmcCalibData(0) | |
15 | { | |
16 | } | |
17 | ||
18 | AliHLTPHOSCalibrationComponent::~AliHLTPHOSCalibrationComponent() | |
19 | { | |
20 | } | |
21 | ||
22 | AliHLTPHOSCalibrationComponent::AliHLTPHOSCalibrationComponent(const AliHLTPHOSCalibrationComponent&) : | |
23 | fEmcCalibData(0) | |
24 | { | |
25 | HLTFatal("copy constructor untested"); | |
26 | } | |
27 | ||
28 | AliHLTPHOSCalibrationComponent& AliHLTPHOSCalibrationComponent::operator=(const AliHLTPHOSCalibrationComponent&) | |
29 | { | |
30 | HLTFatal("assignement operator untested"); | |
31 | } | |
32 | ||
33 | const char* AliHLTPHOSCalibrationComponent::GetComponentID() | |
34 | { | |
d949e02e | 35 | return "PhosCalibrationComponent"; |
7062c30e | 36 | } |
37 | ||
38 | void 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 | ||
48 | AliHLTComponentDataType AliHLTPHOSCalibrationComponent::GetOutputDataType() | |
49 | { | |
50 | return AliHLTPHOSDefinitions::fgkEmcCalibDataType; | |
51 | } | |
52 | ||
53 | void AliHLTPHOSCalibrationComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier) | |
54 | { | |
55 | constBase = 0; | |
56 | inputMultiplier = 2; | |
57 | } | |
58 | ||
59 | AliHLTComponent* AliHLTPHOSCalibrationComponent::Spawn() | |
60 | { | |
61 | return new AliHLTPHOSCalibrationComponent(); | |
62 | } | |
63 | ||
64 | ||
65 | Int_t AliHLTPHOSCalibrationComponent::ScanArgument( Int_t argc, const char** argv) | |
66 | { | |
67 | return 0; | |
68 | } | |
69 | ||
70 | Int_t AliHLTPHOSCalibrationComponent::InitCalibration() | |
71 | { | |
72 | fEmcCalibData = new AliHLTPHOSEmcCalibData(); | |
73 | ||
74 | return 0; | |
75 | } | |
76 | ||
77 | Int_t AliHLTPHOSCalibrationComponent::DeinitCalibration() | |
78 | { | |
79 | return 0; | |
80 | } | |
81 | ||
82 | Int_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 | ||
139 | Int_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 | } |