The Gaudi Framework
v30r3 (a5ef0a68)
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
InterpTest.cpp
Go to the documentation of this file.
1
// ============================================================================
2
// Include files
3
// ============================================================================
4
// STD& STL
5
// ============================================================================
6
#include "
GaudiKernel/SystemOfUnits.h
"
7
#include "
GaudiMath/GaudiMath.h
"
8
#include <cmath>
9
#include <cstdio>
10
#include <iostream>
11
12
// ============================================================================
20
// ============================================================================
21
22
int
main
()
23
{
24
25
const
GaudiMath::Function
& mysin =
GaudiMath::SimpleFun
( sin );
26
const
GaudiMath::Function
& mycos =
GaudiMath::SimpleFun
( cos );
27
28
std::vector<double>
vctx;
29
std::vector<double>
vcty;
30
31
for
(
int
i = 0; i <= 20; ++i ) {
32
double
x = i * 3.141592 / 20.0;
33
double
y = mysin( x );
34
vctx.
push_back
( x );
35
vcty.
push_back
( y );
36
}
37
38
using
GaudiMath::Interpolation::Cspline_Periodic
;
39
40
const
GaudiMath::Constant
minusOne( -1.0, 1 );
41
const
GaudiMath::Constant
plusOne( 1.0, 1 );
42
44
const
GaudiMath::Spline
i1( vctx, vcty,
Cspline_Periodic
);
45
47
const
GaudiMath::SplineDeriv
i2( vctx, vcty,
Cspline_Periodic
);
48
50
const
GaudiMath::Function
& i3 =
GaudiMath::SplineDeriv2
( vctx, vcty,
Cspline_Periodic
) * minusOne;
51
53
const
GaudiMath::Function
& i4 = plusOne +
GaudiMath::SplineInteg
( vctx, vcty,
Cspline_Periodic
, 0.0 ) * minusOne;
54
55
for
(
int
i = 0; i < 30; ++i ) {
56
double
x = i * 3.141592 / 30.0;
57
printf(
"x=%+7.1f; Sin-i1=%+14.9f; Cos-i2=%+14.9f; Sin-i3=%+14.9f; Cos-i4=%+14.9f;\n"
, x /
Gaudi::Units::degree
,
58
mysin( x ) - i1( x ), mycos( x ) - i2( x ), mysin( x ) - i3( x ), mycos( x ) - i4( x ) );
59
}
60
}
GaudiMath::SplineDeriv2
Genfun::GaudiMathImplementation::GSLSplineDeriv2 SplineDeriv2
Definition:
GaudiMath.h:35
Gaudi::Units::degree
constexpr double degree
Definition:
SystemOfUnits.h:109
GaudiMath::SimpleFun
Genfun::GaudiMathImplementation::SimpleFunction SimpleFun
Definition:
GaudiMath.h:28
Genfun::GaudiMathImplementation::Constant
Fixed constant function.
Definition:
Constant.h:31
main
int main()
Definition:
InterpTest.cpp:22
GaudiMath::Function
Genfun::AbsFunction Function
Definition:
GaudiMath.h:24
std::vector::push_back
T push_back(T...args)
GaudiMath::SplineInteg
Genfun::GaudiMathImplementation::GSLSplineInteg SplineInteg
Definition:
GaudiMath.h:36
std::vector< double >
Genfun::GaudiMathImplementation::GSLSplineDeriv
Definition:
Splines.h:268
Genfun::GaudiMathImplementation::GSLSpline
Definition:
Splines.h:143
GaudiMath::Interpolation::Cspline_Periodic
Definition:
Interpolation.h:19
SystemOfUnits.h
GaudiMath.h
GaudiGSL
src
Tests
InterpTest.cpp
Generated on Wed Aug 1 2018 23:20:57 for The Gaudi Framework by
1.8.11