11 #ifndef SBNDThermalNoiseServiceInFreq_H
12 #define SBNDThermalNoiseServiceInFreq_H
16 #include "CLHEP/Random/RandFlat.h"
17 #include "CLHEP/Random/RandGaussQ.h"
18 #include "CLHEP/Random/JamesRandom.h"
19 #include "CLHEP/Random/RandomEngine.h"
21 #include "fhiclcpp/ParameterSet.h"
22 #include "art/Framework/Services/Registry/ServiceHandle.h"
23 #include "art/Framework/Services/Registry/ServiceDeclarationMacros.h"
24 #include "art_root_io/TFileService.h"
29 #include "nurandom/RandomUtils/NuRandomService.h"
44 class HepRandomEngine;
65 std::ostream&
print(std::ostream& out =
std::cout, std::string prefix =
"")
const override;
86 CLHEP::HepRandomEngine& NoiseEngine((art::ServiceHandle<rndm::NuRandomService>{}->createEngine(*EDProdPointer,
"HepJamesRandom",
"noise",pset,
"Seed")));
double fNoiseRand
fraction of random "wiggle" in noise in freq. spectrum
CLHEP::HepRandomEngine * fNoiseEngine
unsigned int fNoiseArrayPoints
number of points in randomly generated noise array
double fLowCutoff
low frequency filter cutoff (kHz)
SBNDThermalNoiseServiceInFreq(fhicl::ParameterSet const &pset)
void InitialiseProducerDeps(art::EDProducer *EDProdPointer, fhicl::ParameterSet const &pset) override
~SBNDThermalNoiseServiceInFreq()
CLHEP::HepRandomEngine * m_pran
Service to provide microboone-specific signal shaping for simulation (convolution) and reconstruction...
std::ostream & print(std::ostream &out=std::cout, std::string prefix="") const override
int addNoise(detinfo::DetectorClocksData const &clockData, Channel chan, AdcSignalVector &sigs) const override
int fRandomSeed
Seed for random number service. If absent or zero, use SeedSvc.
double fNoiseWidth
exponential noise width (kHz)
std::vector< AdcSignal > AdcSignalVector
Contains all timing reference information for the detector.
std::map< double, int > fShapingTimeOrder
art framework interface to geometry description
BEGIN_PROLOG could also be cout
int fLogLevel
Log message level: 0=quiet, 1=init only, 2+=every event.