37 #ifndef AIMS_MATH_TRAPEZEITG_H 
   38 #define AIMS_MATH_TRAPEZEITG_H 
   57                         REAL a, REAL b, 
int n ) 
const;
 
   66 template <
class REAL> 
inline  
   68                                        REAL a, REAL b, 
int n )
 const 
   70   REAL  x, tnm, 
sum, del;
 
   82     for ( it = 1, j = 1; j < n - 1; j++ )
 
   85     del = ( b - a ) / tnm;
 
   87     for ( 
sum = 0.0, j = 1; j <= it; j++, x += del )
 
   89     s = 0.5 * ( s + ( b - a ) * 
sum / tnm );
 
   94 template <
class REAL> 
inline  
   96                                       REAL a, REAL b )
 const 
  102   for ( 
int j = 1; j <= _nStep + 1; j++ ) {
 
  103     s = stage( func, a, b, j );
 
  105       if ( fabs( s - olds ) < EPS * fabs( olds ) ||
 
  106            ( s == 0.0 && olds == 0.0 ) )
 
virtual REAL valueAt(REAL) const =0
virtual ~TrapezeIntegratorOf()
virtual REAL eval(const Integrable &func, REAL a, REAL b) const
virtual REAL stage(const Integrable &func, REAL a, REAL b, int n) const
TrapezeIntegratorOf(int nStep=10)
The class for EcatSino data write operation.
TrapezeIntegratorOf< float > TrapezeIntegrator
DataTypeTraits< T >::LongType sum(const Volume< T > &vol)