Go to the documentation of this file. 1 #ifndef CalibCalorimetry_HcalAlgos_QIE8Simulator_h_
2 #define CalibCalorimetry_HcalAlgos_QIE8Simulator_h_
22 bool interpolateCubic =
false,
23 double preampOutputCut = -1.0e100,
24 double inputGain = 1.0,
25 double outputGain = 1.0);
33 return *(static_cast<const AbsElectronicODERHS*>(ptr));
70 template <
class Signal>
122 unsigned run(
double dt,
double tstop,
double tDigitize,
double* TS,
unsigned lenTS);
142 return *(static_cast<AbsElectronicODERHS*>(ptr));
168 #endif // CalibCalorimetry_HcalAlgos_QIE8Simulator_h_
void setShape(const Real *values, const unsigned len)
double getIntegral() const
double getPreampOutputCut() const
void setInputShape(const Real *values, const unsigned len)
void setInputIntegral(const double d)
double getCharge(const double t) const
double getStartTime() const
std::vector< double > initialConditions_
unsigned long getRunCount() const
void setParameter(const unsigned which, const double value)
static const unsigned maxlen
double getParameter(const unsigned which) const
void zeroInitialConditions()
void setLeadingParameters(const double *values, const unsigned len)
void scaleInputSignal(const double s)
double getOutputGain() const
double interpolateCoordinate(unsigned which, double t, bool cubic=false) const
double controlOutput(double t) const
const HcalInterpolatedPulse & getInputSignal() const
void setInputGain(const double g)
void setInputPulse(const Pulse &pulse)
void setStartTime(const double newStartTime)
double lastStopTime() const
std::vector< double > historyBuffer_
void setParameter(const unsigned which, const double p)
double getInputIntegral() const
void validateGain() const
virtual unsigned nParameters() const =0
double getInputGain() const
static double adcTSWidth()
void setPreampOutputCut(const double p)
unsigned run(double dt, double tstop, double tDigitize, double *TS, unsigned lenTS)
double preampOutput(double t) const
const AbsODERHS * getRHS() const
double getInputAmplitude() const
const AbsElectronicODERHS & getRHS() const
void setIntegral(const double newValue)
void setInputAmplitude(const double a)
void setInputSignal(const Signal &inputSignal)
double totalIntegratedCharge(double t) const
void setRHS(const AbsElectronicODERHS &rhs, unsigned chargeNode, bool interpolateCubic=false)
double getInputStartTime() const
double preampPeakTime() const
bool integrateToGetCharge_
double interpolateIntegrated(unsigned which, double t, bool cubic=false) const
void setInputStartTime(const double newStartTime)
void setInitialConditions(const double *values, const unsigned len)
double getPeakValue() const
const HcalInterpolatedPulse & inputPulse() const
void setOutputGain(const double g)
AbsElectronicODERHS & modifiableRHS()
unsigned nParameters() const
double getParameter(const unsigned which) const
void setPeakValue(const double newValue)
void setLeadingParameters(const double *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