7 #ifndef GAR_READOUTSIMULATION_TPCReadoutSimAlg_hpp 8 #define GAR_READOUTSIMULATION_TPCReadoutSimAlg_hpp 14 #include "CLHEP/Random/RandGauss.h" 15 #include "CLHEP/Random/RandFlat.h" 18 #include "DetectorInfo/DetectorProperties.h" 41 edepLocs.insert(edepIdx);
42 edepWeights.push_front(edepWeight);
48 if(Channel < b.
Channel)
return true;
50 if(TDC < b.
TDC)
return true;
60 TDC == b.
TDC )
return true;
77 <<
"Attempting to add edepIDE with different " 95 edepWeights.push_front(
w);
118 std::vector<float>
const& electrons,
120 virtual void CreateNoiseDigits(std::vector<raw::RawDigit> & digits) = 0;
142 virtual void AddNoiseToADCs(std::vector<short> & adcs) = 0;
143 virtual short ElectronsToADCs(
float electrons) = 0;
const detinfo::DetectorProperties * fDetProp
detector properties
float fNoiseAmplitude
noise amplitdue
std::deque< float > edepWeights
DoubleProduct & operator+=(DoubleProduct &left, DoubleProduct const &right)
unsigned int fZSTicksBefore
for ZS Compression, # samples before
bool operator!=(ModuleKeyAndType const &a, ModuleKeyAndType const &b) noexcept
bool operator<(ProductInfo const &a, ProductInfo const &b)
unsigned int fZSTicksAfter
for ZS Compression, # samples after
virtual void reconfigure(fhicl::ParameterSet const &pset)
int fZSThreshold
for ZS Compression, threshold (upwards)
std::unordered_set< size_t > edepLocs
General GArSoft Utilities.
int fNoiseVecSize
how much noise to pre-generate
edepIDE(float numE, unsigned int chan, unsigned short tdc, size_t edepIdx, float edepWeight)
bool fAddNoise
flag to add noise or not
int fCompressType
Switch to compress raw digits.
int fNoiseSpectrum
0: Gaussian white noise; more to come
CLHEP::HepRandomEngine & fEngine
random number engine
int fADCSaturation
limit of the ADC
#define MF_LOG_WARNING(category)
Collection of charge vs time digitized from a single readout channel.
int fPedestal
Raw Digit Pedestal.
bool operator==(ModuleKeyAndType const &a, ModuleKeyAndType const &b) noexcept