CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
QIE8Simulator Class Reference

#include <QIE8Simulator.h>

Public Member Functions

double controlOutput (double t) const
 
double getInputAmplitude () const
 
double getInputGain () const
 
double getInputIntegral () const
 
const HcalInterpolatedPulsegetInputSignal () const
 
double getInputStartTime () const
 
double getOutputGain () const
 
double getParameter (const unsigned which) const
 
double getPreampOutputCut () const
 
const AbsElectronicODERHSgetRHS () 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
 
AbsElectronicODERHSmodifiableRHS ()
 
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_
 

Detailed Description

Definition at line 11 of file QIE8Simulator.h.

Constructor & Destructor Documentation

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.

Member Function Documentation

static double QIE8Simulator::adcTSWidth ( )
inlinestatic

Definition at line 146 of file QIE8Simulator.h.

double QIE8Simulator::controlOutput ( double  t) const

Definition at line 134 of file QIE8Simulator.cc.

double QIE8Simulator::getCharge ( const double  t) const
inlineprivate

Definition at line 157 of file QIE8Simulator.h.

double QIE8Simulator::getInputAmplitude ( ) const
inline

Definition at line 95 of file QIE8Simulator.h.

double QIE8Simulator::getInputGain ( ) const
inline

Definition at line 40 of file QIE8Simulator.h.

double QIE8Simulator::getInputIntegral ( ) const
inline

Definition at line 102 of file QIE8Simulator.h.

const HcalInterpolatedPulse& QIE8Simulator::getInputSignal ( ) const
inline

Definition at line 78 of file QIE8Simulator.h.

double QIE8Simulator::getInputStartTime ( ) const
inline

Definition at line 109 of file QIE8Simulator.h.

double QIE8Simulator::getOutputGain ( ) const
inline

Definition at line 41 of file QIE8Simulator.h.

double QIE8Simulator::getParameter ( const unsigned  which) const
inline

Definition at line 48 of file QIE8Simulator.h.

double QIE8Simulator::getPreampOutputCut ( ) const
inline

Definition at line 43 of file QIE8Simulator.h.

const AbsElectronicODERHS& QIE8Simulator::getRHS ( ) const
inline

Definition at line 31 of file QIE8Simulator.h.

unsigned long QIE8Simulator::getRunCount ( ) const
inline

Definition at line 42 of file QIE8Simulator.h.

double QIE8Simulator::lastStopTime ( ) const

Definition at line 204 of file QIE8Simulator.cc.

AbsElectronicODERHS& QIE8Simulator::modifiableRHS ( )
inlineprivate

Definition at line 149 of file QIE8Simulator.h.

unsigned QIE8Simulator::nParameters ( ) const
inline

Definition at line 46 of file QIE8Simulator.h.

double QIE8Simulator::preampOutput ( double  t) const

Definition at line 122 of file QIE8Simulator.cc.

double QIE8Simulator::preampPeakTime ( ) const

Definition at line 145 of file QIE8Simulator.cc.

unsigned QIE8Simulator::run ( double  dt,
double  tstop,
double  tDigitize,
double *  TS,
unsigned  lenTS 
)

Definition at line 37 of file QIE8Simulator.cc.

void QIE8Simulator::scaleInputSignal ( const double  s)
inline

Definition at line 91 of file QIE8Simulator.h.

void QIE8Simulator::setInitialConditions ( const double *  values,
const unsigned  len 
)

Definition at line 155 of file QIE8Simulator.cc.

void QIE8Simulator::setInputAmplitude ( const double  a)
inline

Definition at line 98 of file QIE8Simulator.h.

void QIE8Simulator::setInputGain ( const double  g)
inline

Definition at line 52 of file QIE8Simulator.h.

void QIE8Simulator::setInputIntegral ( const double  d)
inline

Definition at line 105 of file QIE8Simulator.h.

template<class Real >
void QIE8Simulator::setInputShape ( const Real *  values,
const unsigned  len 
)
inline

Definition at line 84 of file QIE8Simulator.h.

template<class Signal >
void QIE8Simulator::setInputSignal ( const Signal inputSignal)
inline

Definition at line 71 of file QIE8Simulator.h.

void QIE8Simulator::setInputStartTime ( const double  newStartTime)
inline

Definition at line 112 of file QIE8Simulator.h.

void QIE8Simulator::setLeadingParameters ( const double *  values,
const unsigned  len 
)
inline

Definition at line 62 of file QIE8Simulator.h.

void QIE8Simulator::setOutputGain ( const double  g)
inline

Definition at line 53 of file QIE8Simulator.h.

void QIE8Simulator::setParameter ( const unsigned  which,
const double  p 
)
inline
void QIE8Simulator::setPreampOutputCut ( const double  p)
inline

Definition at line 66 of file QIE8Simulator.h.

void QIE8Simulator::setRHS ( const AbsElectronicODERHS rhs,
unsigned  chargeNode,
bool  interpolateCubic = false 
)

Definition at line 171 of file QIE8Simulator.cc.

double QIE8Simulator::totalIntegratedCharge ( double  t) const

Definition at line 211 of file QIE8Simulator.cc.

void QIE8Simulator::validateGain ( ) const
private

Definition at line 198 of file QIE8Simulator.cc.

void QIE8Simulator::zeroInitialConditions ( )

Definition at line 185 of file QIE8Simulator.cc.

Member Data Documentation

unsigned QIE8Simulator::chargeNode_
private

Definition at line 176 of file QIE8Simulator.h.

std::vector<double> QIE8Simulator::historyBuffer_
private

Definition at line 171 of file QIE8Simulator.h.

std::vector<double> QIE8Simulator::initialConditions_
private

Definition at line 170 of file QIE8Simulator.h.

double QIE8Simulator::inputGain_
private

Definition at line 173 of file QIE8Simulator.h.

bool QIE8Simulator::integrateToGetCharge_
private

Definition at line 177 of file QIE8Simulator.h.

const unsigned QIE8Simulator::maxlen = HcalInterpolatedPulse::maxlen
static

Definition at line 14 of file QIE8Simulator.h.

double QIE8Simulator::outputGain_
private

Definition at line 174 of file QIE8Simulator.h.

double QIE8Simulator::preampOutputCut_
private

Definition at line 172 of file QIE8Simulator.h.

unsigned long QIE8Simulator::runCount_
private

Definition at line 175 of file QIE8Simulator.h.

RK4 QIE8Simulator::solver_
private

Definition at line 169 of file QIE8Simulator.h.

bool QIE8Simulator::useCubic_
private

Definition at line 178 of file QIE8Simulator.h.