using namespace std;
#include "hshowerwiretab.h"
#include "hparamlist.h"
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <math.h>
ClassImp(HShowerWireTab)
HShowerWireTab::HShowerWireTab() {
nWires = 89;
wiresArr.Set(89);
reset();
}
void HShowerWireTab::reset() {
fDistWire = 0.0f;
wiresArr.Reset(0.f);
}
void HShowerWireTab::putParams(HParamList* l) {
if (!l) return;
l->add(Form("fDistWire_%i",m_nModuleID),fDistWire);
l->add(Form("pWireYPositions_%i",m_nModuleID),wiresArr);
}
Bool_t HShowerWireTab::getParams(HParamList* l) {
if (!l) return kFALSE;
if (!l->fill(Form("fDistWire_%i",m_nModuleID),&fDistWire)) return kFALSE;
if (!l->fill(Form("pWireYPositions_%i",m_nModuleID),&wiresArr)) return kFALSE;
if (wiresArr.GetSize()!=nWires) {
Error("getParams(HParamList*)","Only %i wire positions read instead of %i",
wiresArr.GetSize(),nWires);
}
return kTRUE;
}
Int_t HShowerWireTab::lookupWire(Float_t y) {
Int_t nWireNr = -1;
Float_t pos=0.f;
for(Int_t j = 0; j < nWires; j++) {
pos = wiresArr.At(j);
if ((y >= pos - fDistWire) && (y < pos + fDistWire)) {
nWireNr = j;
break;
}
}
return nWireNr;
}