1#include "QPDigitizerBase.hpp"
2#include "QPSignalBase.hpp"
3#include "QPPixelBase.hpp"
13 fSignals.emplace_back(signal);
17 std::cout<<
"QPPixelBase::GetPixel(index) - Calling pure function"<<std::endl;
21 std::cout<<
"QPPixelBase::GetPixel(i,j) - Calling pure function"<<std::endl;
27 return fSignals.at(i);
31 return fSignals.size();
46 std::deque<QPPixelBase*> ans;
47 for(
int i=0; i<npix; i++){
51 ans.emplace_back(pix);
63 for(
int i=0; i<n; i++){
void InjectSignal(QPSignalBase *signal)
Hands a signal to the digitizer, which takes ownership: the default ClearSignal() deletes it.
virtual void Delete()
Cleanup hook; currently a no-op.
QPSignalBase * GetSignal(int i) const
Borrowed pointer to injected signal i; the digitizer keeps ownership.
virtual double GetAnalogSignal(const double &x, const double &y)
Summed signal density of all injected signals at (x, y), .
virtual ~QPDigitizerBase()
Does not delete the injected signals; see the class warning.
void ClearSignal(bool removeall=true)
Empties the signal store.
std::deque< QPPixelBase * > GetFiredPixel(double threshold)
Builds every pixel and keeps those whose digital signal exceeds threshold; the rest are deleted inter...
virtual QPPixelBase * GetPixel(const int index)
Pixel by linear index.
QPDigitizerBase(int npix)
Abstract pixel bound to a digitizer: pulls the digitizer's injected signals and integrates them over ...
double GetDigitalSignal()
Total collected charge of the pixel: GetDigitalSignalOne summed over every signal injected into the d...
Abstract charge signal: a normalized 2D PDF scaled by an amplitude.
double GetSignal(const double &x, const double &y)
Signal density : amplitude times GetPDF.