#include <QIE8Simulator.h>
Public Member Functions | |
double | controlOutput (double t) const |
double | getInputAmplitude () const |
double | getInputGain () const |
double | getInputIntegral () const |
const HcalInterpolatedPulse & | getInputSignal () const |
double | getInputStartTime () const |
double | getOutputGain () const |
double | getParameter (const unsigned which) const |
double | getPreampOutputCut () const |
const AbsElectronicODERHS & | getRHS () const |
unsigned long | getRunCount () const |
double | lastStopTime () const |
unsigned | nParameters () const |
double | preampOutput (double t) const |
double | preampPeakTime () const |
QIE8Simulator () | |
QIE8Simulator (const AbsElectronicODERHS &model, unsigned chargeNode, bool interpolateCubic=false, double preampOutputCut=-1.0e100, double inputGain=1.0, double outputGain=1.0) | |
unsigned | run (double dt, double tstop, double tDigitize, double *TS, unsigned lenTS) |
void | scaleInputSignal (const double s) |
void | setInitialConditions (const double *values, const unsigned len) |
void | setInputAmplitude (const double a) |
void | setInputGain (const double g) |
void | setInputIntegral (const double d) |
template<class Real > | |
void | setInputShape (const Real *values, const unsigned len) |
template<class Signal > | |
void | setInputSignal (const Signal &inputSignal) |
void | setInputStartTime (const double newStartTime) |
void | setLeadingParameters (const double *values, const unsigned len) |
void | setOutputGain (const double g) |
void | setParameter (const unsigned which, const double p) |
void | setPreampOutputCut (const double p) |
void | setRHS (const AbsElectronicODERHS &rhs, unsigned chargeNode, bool interpolateCubic=false) |
double | totalIntegratedCharge (double t) const |
void | zeroInitialConditions () |
Static Public Member Functions | |
static double | adcTSWidth () |
Static Public Attributes | |
static const unsigned | maxlen = HcalInterpolatedPulse::maxlen |
Private Member Functions | |
double | getCharge (const double t) const |
AbsElectronicODERHS & | modifiableRHS () |
void | validateGain () const |
Private Attributes | |
unsigned | chargeNode_ |
std::vector< double > | historyBuffer_ |
std::vector< double > | initialConditions_ |
double | inputGain_ |
bool | integrateToGetCharge_ |
double | outputGain_ |
double | preampOutputCut_ |
unsigned long | runCount_ |
RK4 | solver_ |
bool | useCubic_ |
Definition at line 11 of file QIE8Simulator.h.
QIE8Simulator::QIE8Simulator | ( | ) |
Definition at line 6 of file QIE8Simulator.cc.
QIE8Simulator::QIE8Simulator | ( | const AbsElectronicODERHS & | model, |
unsigned | chargeNode, | ||
bool | interpolateCubic = false , |
||
double | preampOutputCut = -1.0e100 , |
||
double | inputGain = 1.0 , |
||
double | outputGain = 1.0 |
||
) |
Definition at line 15 of file QIE8Simulator.cc.
References edm::hlt::Exception, integrateToGetCharge_, AbsElectronicODERHS::invalidNode, AbsElectronicODERHS::outputNode(), validateGain(), and zeroInitialConditions().
|
inlinestatic |
double QIE8Simulator::controlOutput | ( | double | t | ) | const |
Definition at line 134 of file QIE8Simulator.cc.
References AbsElectronicODERHS::controlNode(), edm::hlt::Exception, getRHS(), ConstantStepOdeSolver::interpolateCoordinate(), AbsElectronicODERHS::invalidNode, runCount_, solver_, and useCubic_.
|
inlineprivate |
Definition at line 157 of file QIE8Simulator.h.
References chargeNode_, integrateToGetCharge_, ConstantStepOdeSolver::interpolateCoordinate(), ConstantStepOdeSolver::interpolateIntegrated(), lumiQueryAPI::q, solver_, and useCubic_.
Referenced by run(), and totalIntegratedCharge().
|
inline |
Definition at line 95 of file QIE8Simulator.h.
References InterpolatedPulse< MaxLen >::getPeakValue(), getRHS(), inputGain_, and AbsElectronicODERHS::inputPulse().
|
inline |
|
inline |
Definition at line 102 of file QIE8Simulator.h.
References InterpolatedPulse< MaxLen >::getIntegral(), getRHS(), inputGain_, and AbsElectronicODERHS::inputPulse().
|
inline |
Definition at line 78 of file QIE8Simulator.h.
References getRHS(), and AbsElectronicODERHS::inputPulse().
|
inline |
Definition at line 109 of file QIE8Simulator.h.
References getRHS(), InterpolatedPulse< MaxLen >::getStartTime(), and AbsElectronicODERHS::inputPulse().
|
inline |
|
inline |
Definition at line 48 of file QIE8Simulator.h.
References AbsElectronicODERHS::getParameter(), and getRHS().
Referenced by Mixins._Parameterizable::hasParameter().
|
inline |
|
inline |
Definition at line 31 of file QIE8Simulator.h.
References edm::hlt::Exception, ConstantStepOdeSolver::getRHS(), and solver_.
Referenced by controlOutput(), getInputAmplitude(), getInputIntegral(), getInputSignal(), getInputStartTime(), getParameter(), nParameters(), preampOutput(), preampPeakTime(), setInitialConditions(), and zeroInitialConditions().
|
inline |
double QIE8Simulator::lastStopTime | ( | ) | const |
Definition at line 204 of file QIE8Simulator.cc.
References edm::hlt::Exception, ConstantStepOdeSolver::lastMaxT(), runCount_, and solver_.
|
inlineprivate |
Definition at line 149 of file QIE8Simulator.h.
References edm::hlt::Exception, ConstantStepOdeSolver::getRHS(), and solver_.
Referenced by run(), scaleInputSignal(), setInputAmplitude(), setInputIntegral(), setInputShape(), setInputSignal(), setInputStartTime(), setLeadingParameters(), and setParameter().
|
inline |
Definition at line 46 of file QIE8Simulator.h.
References getRHS(), and AbsElectronicODERHS::nParameters().
double QIE8Simulator::preampOutput | ( | double | t | ) | const |
Definition at line 122 of file QIE8Simulator.cc.
References edm::hlt::Exception, getRHS(), ConstantStepOdeSolver::interpolateCoordinate(), AbsElectronicODERHS::invalidNode, outputGain_, AbsElectronicODERHS::outputNode(), runCount_, solver_, and useCubic_.
double QIE8Simulator::preampPeakTime | ( | ) | const |
Definition at line 145 of file QIE8Simulator.cc.
References edm::hlt::Exception, ConstantStepOdeSolver::getPeakTime(), getRHS(), AbsElectronicODERHS::invalidNode, AbsElectronicODERHS::outputNode(), runCount_, and solver_.
unsigned QIE8Simulator::run | ( | double | dt, |
double | tstop, | ||
double | tDigitize, | ||
double * | TS, | ||
unsigned | lenTS | ||
) |
Definition at line 37 of file QIE8Simulator.cc.
References adcTSWidth(), assert(), AbsODERHS::calc(), chargeNode_, dt, edm::hlt::Exception, getCharge(), historyBuffer_, initialConditions_, integrateToGetCharge_, AbsElectronicODERHS::invalidNode, ConstantStepOdeSolver::lastMaxT(), maxlen, modifiableRHS(), gen::n, AbsElectronicODERHS::numberOfNodes(), outputGain_, preampOutputCut_, lumiQueryAPI::q, ConstantStepOdeSolver::run(), runCount_, ConstantStepOdeSolver::setHistory(), solver_, and ConstantStepOdeSolver::truncateCoordinate().
Referenced by Types.EventID::cppID(), and Types.LuminosityBlockID::cppID().
|
inline |
Definition at line 91 of file QIE8Simulator.h.
References AbsElectronicODERHS::inputPulse(), modifiableRHS(), and alignCSCRings::s.
void QIE8Simulator::setInitialConditions | ( | const double * | values, |
const unsigned | len | ||
) |
Definition at line 155 of file QIE8Simulator.cc.
References assert(), EnergyCorrector::c, edm::hlt::Exception, getRHS(), i, initialConditions_, and AbsElectronicODERHS::numberOfNodes().
|
inline |
Definition at line 98 of file QIE8Simulator.h.
References inputGain_, AbsElectronicODERHS::inputPulse(), modifiableRHS(), and InterpolatedPulse< MaxLen >::setPeakValue().
|
inline |
Definition at line 52 of file QIE8Simulator.h.
References g, inputGain_, and validateGain().
|
inline |
Definition at line 105 of file QIE8Simulator.h.
References inputGain_, AbsElectronicODERHS::inputPulse(), modifiableRHS(), and InterpolatedPulse< MaxLen >::setIntegral().
|
inline |
Definition at line 84 of file QIE8Simulator.h.
References inputGain_, AbsElectronicODERHS::inputPulse(), modifiableRHS(), and InterpolatedPulse< MaxLen >::setShape().
|
inline |
Definition at line 71 of file QIE8Simulator.h.
References inputGain_, AbsElectronicODERHS::inputPulse(), modifiableRHS(), and AbsElectronicODERHS::setInputPulse().
|
inline |
Definition at line 112 of file QIE8Simulator.h.
References AbsElectronicODERHS::inputPulse(), modifiableRHS(), and InterpolatedPulse< MaxLen >::setStartTime().
|
inline |
Definition at line 62 of file QIE8Simulator.h.
References modifiableRHS(), and AbsElectronicODERHS::setLeadingParameters().
|
inline |
Definition at line 53 of file QIE8Simulator.h.
References g, outputGain_, and validateGain().
|
inline |
Definition at line 60 of file QIE8Simulator.h.
References modifiableRHS(), and AbsElectronicODERHS::setParameter().
Referenced by editorTools.UserCodeTool::__call__(), HiCoreTools.RestrictInputToAOD::__call__(), coreTools.RunOnData::__call__(), trackTools.MakeAODTrackCandidates::__call__(), runJetUncertainties.RunJetUncertainties::__call__(), metTools.AddMETCollection::__call__(), editorTools.ChangeSource::__call__(), HiCoreTools.RemoveMCMatching::__call__(), cmsswVersionTools.PickRelValInputFiles::__call__(), coreTools.RemoveMCMatching::__call__(), trackTools.MakePATTrackCandidates::__call__(), trigTools.SwitchOnTrigger::__call__(), jetTools.AddJetCollection::__call__(), HiCoreTools.RemoveAllPATObjectsBut::__call__(), runType1CaloMEtUncertainties.RunType1CaloMEtUncertainties::__call__(), HiCoreTools.RemoveSpecificPATObjects::__call__(), trigTools.SwitchOnTriggerStandAlone::__call__(), trackTools.MakeTrackCandidates::__call__(), runMVAMEtUncertainties.RunMVAMEtUncertainties::__call__(), tauTools.AddTauCollection::__call__(), jmeUncertaintyTools.JetMEtUncertaintyTools::__call__(), trigTools.SwitchOnTriggerMatching::__call__(), HiCoreTools.RemoveCleaning::__call__(), runType1PFMEtUncertainties.RunType1PFMEtUncertainties::__call__(), HiCoreTools.AddCleaning::__call__(), runNoPileUpMEtUncertainties.RunNoPileUpMEtUncertainties::__call__(), trigTools.SwitchOnTriggerMatchingStandAlone::__call__(), trigTools.SwitchOnTriggerMatchEmbedding::__call__(), jetTools.SwitchJetCollection::__call__(), jetTools.AddJetID::__call__(), and jetTools.SetTagInfos::__call__().
|
inline |
Definition at line 66 of file QIE8Simulator.h.
References AlCaHLTBitMon_ParallelJobs::p, and preampOutputCut_.
void QIE8Simulator::setRHS | ( | const AbsElectronicODERHS & | rhs, |
unsigned | chargeNode, | ||
bool | interpolateCubic = false |
||
) |
Definition at line 171 of file QIE8Simulator.cc.
References chargeNode_, edm::hlt::Exception, integrateToGetCharge_, AbsElectronicODERHS::invalidNode, AbsElectronicODERHS::outputNode(), ConstantStepOdeSolver::setRHS(), solver_, useCubic_, and zeroInitialConditions().
double QIE8Simulator::totalIntegratedCharge | ( | double | t | ) | const |
Definition at line 211 of file QIE8Simulator.cc.
References edm::hlt::Exception, getCharge(), outputGain_, and runCount_.
|
private |
Definition at line 198 of file QIE8Simulator.cc.
References edm::hlt::Exception, and inputGain_.
Referenced by QIE8Simulator(), setInputGain(), and setOutputGain().
void QIE8Simulator::zeroInitialConditions | ( | ) |
Definition at line 185 of file QIE8Simulator.cc.
References EnergyCorrector::c, getRHS(), i, initialConditions_, and AbsElectronicODERHS::numberOfNodes().
Referenced by QIE8Simulator(), and setRHS().
|
private |
Definition at line 176 of file QIE8Simulator.h.
Referenced by getCharge(), run(), and setRHS().
|
private |
Definition at line 171 of file QIE8Simulator.h.
Referenced by run().
|
private |
Definition at line 170 of file QIE8Simulator.h.
Referenced by run(), setInitialConditions(), and zeroInitialConditions().
|
private |
Definition at line 173 of file QIE8Simulator.h.
Referenced by getInputAmplitude(), getInputGain(), getInputIntegral(), setInputAmplitude(), setInputGain(), setInputIntegral(), setInputShape(), setInputSignal(), and validateGain().
|
private |
Definition at line 177 of file QIE8Simulator.h.
Referenced by getCharge(), QIE8Simulator(), run(), and setRHS().
|
static |
Definition at line 14 of file QIE8Simulator.h.
Referenced by core.autovars.NTupleCollection::fillBranchesScalar(), core.autovars.NTupleCollection::fillBranchesVector(), core.autovars.NTupleCollection::get_cpp_declaration(), core.autovars.NTupleCollection::makeBranchesScalar(), core.autovars.NTupleCollection::makeBranchesVector(), and run().
|
private |
Definition at line 174 of file QIE8Simulator.h.
Referenced by getOutputGain(), preampOutput(), run(), setOutputGain(), and totalIntegratedCharge().
|
private |
Definition at line 172 of file QIE8Simulator.h.
Referenced by getPreampOutputCut(), run(), and setPreampOutputCut().
|
private |
Definition at line 175 of file QIE8Simulator.h.
Referenced by controlOutput(), getRunCount(), lastStopTime(), preampOutput(), preampPeakTime(), run(), and totalIntegratedCharge().
|
private |
Definition at line 169 of file QIE8Simulator.h.
Referenced by controlOutput(), getCharge(), getRHS(), lastStopTime(), modifiableRHS(), preampOutput(), preampPeakTime(), run(), and setRHS().
|
private |
Definition at line 178 of file QIE8Simulator.h.
Referenced by controlOutput(), getCharge(), preampOutput(), and setRHS().