CMS 3D CMS Logo

PadeTableODE.h
Go to the documentation of this file.
1 #ifndef CalibCalorimetry_HcalAlgos_PadeTableODE_h_
2 #define CalibCalorimetry_HcalAlgos_PadeTableODE_h_
3 
4 //
5 // Differential equations are built using the delay formula
6 // I_out(s) = I_in(s) exp(-tau s), where I_out(s), etc. are the Laplace
7 // transforms. exp(-tau s) is then represented by fractions according
8 // to the Pade table. See http://en.wikipedia.org/wiki/Pade_table and
9 // replace z by (-tau s).
10 //
11 class PadeTableODE {
12 public:
13  PadeTableODE(unsigned padeRow, unsigned padeColumn);
14 
15  void calculate(double tau,
16  double inputCurrent,
17  double dIdt,
18  double d2Id2t,
19  const double* x,
20  unsigned lenX,
21  unsigned firstNode,
22  double* derivative) const;
23 
24  inline unsigned getPadeRow() const { return row_; }
25  inline unsigned getPadeColumn() const { return col_; }
26  inline unsigned nParameters() const { return 0U; }
27  void setParameters(const double* pars, unsigned nPars);
28 
29 private:
30  unsigned row_;
31  unsigned col_;
32 };
33 
34 #endif // CalibCalorimetry_HcalAlgos_PadeTableODE_h_
Derivative< X, A >::type derivative(const A &_)
Definition: Derivative.h:18
unsigned nParameters() const
Definition: PadeTableODE.h:26
void setParameters(const double *pars, unsigned nPars)
unsigned getPadeRow() const
Definition: PadeTableODE.h:24
unsigned getPadeColumn() const
Definition: PadeTableODE.h:25
PadeTableODE(unsigned padeRow, unsigned padeColumn)
Definition: PadeTableODE.cc:6
unsigned col_
Definition: PadeTableODE.h:31
void calculate(double tau, double inputCurrent, double dIdt, double d2Id2t, const double *x, unsigned lenX, unsigned firstNode, double *derivative) const
Definition: PadeTableODE.cc:13
unsigned row_
Definition: PadeTableODE.h:30