4 #include "AliHLTPHOSCalibrationComponent.h"
6 // #include "AliHLTPHOSConstant.h"
8 #include "AliHLTPHOSDefinitions.h"
9 #include "AliHLTPHOSEmcCalibData.h"
13 AliHLTPHOSCalibrationComponent gAliHLTPHOSCalibrationComponent;
15 AliHLTPHOSCalibrationComponent::AliHLTPHOSCalibrationComponent() :
20 AliHLTPHOSCalibrationComponent::~AliHLTPHOSCalibrationComponent()
24 AliHLTPHOSCalibrationComponent::AliHLTPHOSCalibrationComponent(const AliHLTPHOSCalibrationComponent&) :
27 HLTFatal("copy constructor untested");
30 AliHLTPHOSCalibrationComponent& AliHLTPHOSCalibrationComponent::operator=(const AliHLTPHOSCalibrationComponent&)
32 HLTFatal("assignement operator untested");
35 const char* AliHLTPHOSCalibrationComponent::GetComponentID()
37 return "PhosCalibrationComponent";
40 void AliHLTPHOSCalibrationComponent::GetInputDataTypes(vector<AliHLTComponentDataType>& list)
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);
50 AliHLTComponentDataType AliHLTPHOSCalibrationComponent::GetOutputDataType()
52 return AliHLTPHOSDefinitions::fgkEmcCalibDataType;
55 void AliHLTPHOSCalibrationComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier)
61 AliHLTComponent* AliHLTPHOSCalibrationComponent::Spawn()
63 return new AliHLTPHOSCalibrationComponent();
67 Int_t AliHLTPHOSCalibrationComponent::ScanArgument( Int_t argc, const char** argv)
72 Int_t AliHLTPHOSCalibrationComponent::InitCalibration()
74 fEmcCalibData = new AliHLTPHOSEmcCalibData();
79 Int_t AliHLTPHOSCalibrationComponent::DeinitCalibration()
84 Int_t AliHLTPHOSCalibrationComponent::ProcessCalibration(const AliHLTComponent_EventData& evtData,
85 const AliHLTComponent_BlockData* blocks,
86 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
88 vector<AliHLTComponent_BlockData>& outputBlocks)
89 //Int_t AliHLTPHOSCalibrationComponent::ProcessCalibration(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData)
92 const AliHLTComponentBlockData* iter = 0;
94 for ( int ndx = 0; ndx < evtData.fBlockCnt; ndx++ )
97 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellEnergyHistogramDataType)
99 for(Int_t mod = 0; mod < N_MODULES; mod++)
101 for(Int_t x = 0; x < N_XCOLUMNS_MOD; x++)
103 for(Int_t z = 0; z < N_ZROWS_MOD; z++)
105 for(Int_t gain = 0; gain < N_GAINS; gain++)
107 fEmcCalibData->SetADCchannelEnergy(mod, x, z, gain, 1);
108 fEmcCalibData->SetADCpedestalEmcMeasured(mod, x, z, gain, 1);
114 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellAverageEnergyDataType)
118 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellAccumulatedEnergyDataType)
122 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellTimingHistogramDataType)
126 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellTimingAverageDataType)
136 PushBack((TObject*) fEmcCalibData, AliHLTPHOSDefinitions::fgkEmcCalibDataType, 0);
141 Int_t AliHLTPHOSCalibrationComponent::ShipDataToFXS( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/ ) {
142 // see header file for class documentation
144 // ** PushBack data to FXS ...
145 PushToFXS( (TObject*) fEmcCalibData, "PHOS", "EmcCalibData" ) ;