1 #ifndef CalibCalorimetry_HcalAlgos_QIE8Simulator_h_
2 #define CalibCalorimetry_HcalAlgos_QIE8Simulator_h_
23 bool interpolateCubic =
false,
24 double preampOutputCut = -1.0e100,
25 double inputGain = 1.0,
26 double outputGain = 1.0);
29 bool interpolateCubic=
false);
35 "In QIE8Simulator::getRHS: RHS is not set");
70 template<
class Signal>
132 unsigned run(
double dt,
double tstop,
133 double tDigitize,
double* TS,
unsigned lenTS);
153 "In QIE8Simulator::modifiableRHS: no RHS");
181 #endif // CalibCalorimetry_HcalAlgos_QIE8Simulator_h_
double preampPeakTime() const
std::vector< double > initialConditions_
const HcalInterpolatedPulse & getInputSignal() const
double getParameter(const unsigned which) const
void setStartTime(const double newStartTime)
double interpolateIntegrated(unsigned which, double t, bool cubic=false) const
double totalIntegratedCharge(double t) const
bool integrateToGetCharge_
void setInputSignal(const Signal &inputSignal)
double lastStopTime() const
void setInputAmplitude(const double a)
double getIntegral() const
static double adcTSWidth()
void setShape(const Real *values, const unsigned len)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
std::vector< double > historyBuffer_
double getInputIntegral() const
void setInitialConditions(const double *values, const unsigned len)
const HcalInterpolatedPulse & inputPulse() const
void scaleInputSignal(const double s)
double getInputGain() const
void setInputIntegral(const double d)
double getParameter(const unsigned which) const
double getPeakValue() const
void setLeadingParameters(const double *values, const unsigned len)
void setPreampOutputCut(const double p)
const AbsElectronicODERHS & getRHS() const
void validateGain() const
double getInputAmplitude() const
void setParameter(const unsigned which, const double value)
void setRHS(const AbsElectronicODERHS &rhs, unsigned chargeNode, bool interpolateCubic=false)
double getStartTime() const
const AbsODERHS * getRHS() const
AbsElectronicODERHS & modifiableRHS()
double getCharge(const double t) const
double interpolateCoordinate(unsigned which, double t, bool cubic=false) const
void setInputPulse(const Pulse &pulse)
void setParameter(const unsigned which, const double p)
void setInputShape(const Real *values, const unsigned len)
void setInputStartTime(const double newStartTime)
unsigned long getRunCount() const
void setPeakValue(const double newValue)
double preampOutput(double t) const
unsigned run(double dt, double tstop, double tDigitize, double *TS, unsigned lenTS)
double getInputStartTime() const
double getOutputGain() const
virtual unsigned nParameters() const =0
void setInputGain(const double g)
double getPreampOutputCut() const
void zeroInitialConditions()
unsigned nParameters() const
void setIntegral(const double newValue)
void setLeadingParameters(const double *values, const unsigned len)
static const unsigned maxlen
void setOutputGain(const double g)
double controlOutput(double t) const