CalibCalorimetry
HcalAlgos
interface
ThirdOrderDelayODE.h
Go to the documentation of this file.
1
#ifndef CalibCalorimetry_HcalAlgos_ThirdOrderDelayODE_h_
2
#define CalibCalorimetry_HcalAlgos_ThirdOrderDelayODE_h_
3
4
//
5
// Equation a/6*tau^3*V_out''' + b/2*tau^2*V_out'' + c*tau*V_out' + V_out = V_in,
6
// with parameters "a", "b", and "c". a = 1, b = 1, c = 1 corresponds to the
7
// Pade table delay equation with row = 0 and column = 3.
8
//
9
class
ThirdOrderDelayODE
{
10
public
:
11
inline
ThirdOrderDelayODE
(
unsigned
/* r */
,
unsigned
/* c */
) :
a_
(1.0) {}
12
13
void
calculate
(
double
tau
,
14
double
inputCurrent,
15
double
dIdt,
16
double
d2Id2t,
17
const
double
*
x
,
18
unsigned
lenX,
19
unsigned
firstNode,
20
double
*
derivative
)
const
;
21
22
inline
unsigned
getPadeRow
()
const
{
return
0
U
; }
23
inline
unsigned
getPadeColumn
()
const
{
return
3
U
; }
24
inline
unsigned
nParameters
()
const
{
return
3
U
; }
25
26
// The parameters should be set to the logs of their actual values
27
void
setParameters
(
const
double
* pars,
unsigned
nPars);
28
29
private
:
30
double
a_
;
31
double
b_
;
32
double
c_
;
33
};
34
35
#endif // CalibCalorimetry_HcalAlgos_ThirdOrderDelayODE_h_
ThirdOrderDelayODE
Definition:
ThirdOrderDelayODE.h:9
funct::derivative
Derivative< X, A >::type derivative(const A &_)
Definition:
Derivative.h:18
ThirdOrderDelayODE::c_
double c_
Definition:
ThirdOrderDelayODE.h:32
ThirdOrderDelayODE::calculate
void calculate(double tau, double inputCurrent, double dIdt, double d2Id2t, const double *x, unsigned lenX, unsigned firstNode, double *derivative) const
Definition:
ThirdOrderDelayODE.cc:7
mitigatedMETSequence_cff.U
U
Definition:
mitigatedMETSequence_cff.py:36
ThirdOrderDelayODE::a_
double a_
Definition:
ThirdOrderDelayODE.h:30
ThirdOrderDelayODE::getPadeRow
unsigned getPadeRow() const
Definition:
ThirdOrderDelayODE.h:22
ThirdOrderDelayODE::b_
double b_
Definition:
ThirdOrderDelayODE.h:31
metsig::tau
Definition:
SignAlgoResolutions.h:49
ThirdOrderDelayODE::ThirdOrderDelayODE
ThirdOrderDelayODE(unsigned, unsigned)
Definition:
ThirdOrderDelayODE.h:11
DDAxes::x
ThirdOrderDelayODE::nParameters
unsigned nParameters() const
Definition:
ThirdOrderDelayODE.h:24
ThirdOrderDelayODE::getPadeColumn
unsigned getPadeColumn() const
Definition:
ThirdOrderDelayODE.h:23
ThirdOrderDelayODE::setParameters
void setParameters(const double *pars, unsigned nPars)
Definition:
ThirdOrderDelayODE.cc:30
Generated for CMSSW Reference Manual by
1.8.14