2 #include "AliHLTPHOSCalibrationComponent.h"
3 #include "AliHLTPHOSConstants.h"
4 #include "AliHLTPHOSDefinitions.h"
5 #include "AliHLTPHOSEmcCalibData.h"
9 AliHLTPHOSCalibrationComponent gAliHLTPHOSCalibrationComponent;
11 AliHLTPHOSCalibrationComponent::AliHLTPHOSCalibrationComponent() :
16 AliHLTPHOSCalibrationComponent::~AliHLTPHOSCalibrationComponent()
20 AliHLTPHOSCalibrationComponent::AliHLTPHOSCalibrationComponent(const AliHLTPHOSCalibrationComponent&) :
23 HLTFatal("copy constructor untested");
26 AliHLTPHOSCalibrationComponent& AliHLTPHOSCalibrationComponent::operator=(const AliHLTPHOSCalibrationComponent&)
28 HLTFatal("assignement operator untested");
31 const char* AliHLTPHOSCalibrationComponent::GetComponentID()
33 return "AliHLTPHOSCalibrationComponent";
36 void AliHLTPHOSCalibrationComponent::GetInputDataTypes(vector<AliHLTComponentDataType>& list)
39 list.push_back(AliHLTPHOSDefinitions::fgkCellEnergyHistogramDataType);
40 list.push_back(AliHLTPHOSDefinitions::fgkCellAverageEnergyDataType);
41 list.push_back(AliHLTPHOSDefinitions::fgkCellAccumulatedEnergyDataType);
42 list.push_back(AliHLTPHOSDefinitions::fgkCellTimingHistogramDataType);
43 list.push_back(AliHLTPHOSDefinitions::fgkCellTimingAverageDataType);
46 AliHLTComponentDataType AliHLTPHOSCalibrationComponent::GetOutputDataType()
48 return AliHLTPHOSDefinitions::fgkEmcCalibDataType;
51 void AliHLTPHOSCalibrationComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier)
57 AliHLTComponent* AliHLTPHOSCalibrationComponent::Spawn()
59 return new AliHLTPHOSCalibrationComponent();
63 Int_t AliHLTPHOSCalibrationComponent::ScanArgument( Int_t argc, const char** argv)
68 Int_t AliHLTPHOSCalibrationComponent::InitCalibration()
70 fEmcCalibData = new AliHLTPHOSEmcCalibData();
75 Int_t AliHLTPHOSCalibrationComponent::DeinitCalibration()
80 Int_t AliHLTPHOSCalibrationComponent::ProcessCalibration(const AliHLTComponent_EventData& evtData,
81 const AliHLTComponent_BlockData* blocks,
82 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
84 vector<AliHLTComponent_BlockData>& outputBlocks)
85 //Int_t AliHLTPHOSCalibrationComponent::ProcessCalibration(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData)
88 const AliHLTComponentBlockData* iter = 0;
90 for ( int ndx = 0; ndx < evtData.fBlockCnt; ndx++ )
93 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellEnergyHistogramDataType)
95 for(Int_t mod = 0; mod < N_MODULES; mod++)
97 for(Int_t x = 0; x < N_XCOLUMNS_MOD; x++)
99 for(Int_t z = 0; z < N_ZROWS_MOD; z++)
101 for(Int_t gain = 0; gain < N_GAINS; gain++)
103 fEmcCalibData->SetADCchannelEnergy(mod, x, z, gain, 1);
104 fEmcCalibData->SetADCpedestalEmcMeasured(mod, x, z, gain, 1);
110 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellAverageEnergyDataType)
114 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellAccumulatedEnergyDataType)
118 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellTimingHistogramDataType)
122 if(iter->fDataType == AliHLTPHOSDefinitions::fgkCellTimingAverageDataType)
132 PushBack((TObject*) fEmcCalibData, AliHLTPHOSDefinitions::fgkEmcCalibDataType, 0);
137 Int_t AliHLTPHOSCalibrationComponent::ShipDataToFXS( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/ ) {
138 // see header file for class documentation
140 // ** PushBack data to FXS ...
141 PushToFXS( (TObject*) fEmcCalibData, "PHOS", "EmcCalibData" ) ;