icarus_tool::ElectronicsResponseBesselApprox::ElectronicsResponseBesselApprox |
( |
const fhicl::ParameterSet & |
pset | ) |
|
|
explicit |
icarus_tool::ElectronicsResponseBesselApprox::~ElectronicsResponseBesselApprox |
( |
| ) |
|
|
inline |
void icarus_tool::ElectronicsResponseBesselApprox::configure |
( |
const fhicl::ParameterSet & |
pset | ) |
|
|
overridevirtual |
double icarus_tool::ElectronicsResponseBesselApprox::getASICShapingTime |
( |
| ) |
const |
|
inlineoverridevirtual |
double icarus_tool::ElectronicsResponseBesselApprox::getFCperADCMicroS |
( |
| ) |
const |
|
inlineoverridevirtual |
size_t icarus_tool::ElectronicsResponseBesselApprox::getPlane |
( |
| ) |
const |
|
inlineoverridevirtual |
const icarusutil::TimeVec& icarus_tool::ElectronicsResponseBesselApprox::getResponseVec |
( |
| ) |
const |
|
inlineoverridevirtual |
void icarus_tool::ElectronicsResponseBesselApprox::outputHistograms |
( |
art::TFileDirectory & |
histDir | ) |
const |
|
overridevirtual |
Implements icarus_tool::IElectronicsResponse.
Definition at line 146 of file ElectronicsResponseBesselApprox_tool.cc.
153 art::TFileDirectory
dir = histDir.mkdir(dirName.c_str());
166 std::vector<double> powerVec(halfFFTDataSize);
172 double freqWidth = maxFreq / powerVec.size();
174 histName =
"FFT_" + histName;
176 TProfile* fftHist = dir.make<TProfile>(histName.c_str(),
"Electronics FFT; Frequency(MHz)", powerVec.size(), 0., maxFreq);
178 for(
size_t idx = 0; idx < powerVec.size(); idx++)
180 double bin = (idx + 0.5) * freqWidth;
182 fftHist->Fill(bin, powerVec.at(idx), 1.);
constexpr details::BinObj< T > bin(T value)
Returns a wrapper to print the specified data in binary format.
std::string to_string(WindowPattern const &pattern)
void icarus_tool::ElectronicsResponseBesselApprox::setResponse |
( |
size_t |
numBins, |
|
|
double |
binWidth |
|
) |
| |
|
overridevirtual |
Implements icarus_tool::IElectronicsResponse.
Definition at line 83 of file ElectronicsResponseBesselApprox_tool.cc.
87 double timeCorrect = 1.e-3;
94 if (!
fFFT)
fFFT = std::make_unique<icarus_signal_processing::ICARUSFFT<double>>(numBins);
107 for(
size_t timeIdx = 0; timeIdx < numBins; timeIdx++)
114 double leftArg2 = (0.9 * funcArg) * (0.9 * funcArg);
115 double rightArg2 = (0.5 * funcArg) * (0.5 * funcArg);
double icarus_tool::ElectronicsResponseBesselApprox::fADCPerPCAtLowestASICGain |
|
private |
double icarus_tool::ElectronicsResponseBesselApprox::fASICShapingTime |
|
private |
double icarus_tool::ElectronicsResponseBesselApprox::fBinWidth |
|
private |
icarusutil::TimeVec icarus_tool::ElectronicsResponseBesselApprox::fElectronicsResponseBesselApproxVec |
|
private |
double icarus_tool::ElectronicsResponseBesselApprox::fFCperADCMicroS |
|
private |
std::unique_ptr<icarus_signal_processing::ICARUSFFT<double> > icarus_tool::ElectronicsResponseBesselApprox::fFFT |
|
private |
size_t icarus_tool::ElectronicsResponseBesselApprox::fPlane |
|
private |
double icarus_tool::ElectronicsResponseBesselApprox::fTimeOffset |
|
private |
The documentation for this class was generated from the following file: