Jpp  master_rocky-40-g5f0272dcd
the software that should make you happy
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
JDETECTOR::JTransitionTimeGenerator67 Struct Referenceabstract

Implementation to generate PMT transition times based on measurements (see Calibration e-log entry 467). More...

#include <JPMTTransitTimeGenerator.hh>

Inheritance diagram for JDETECTOR::JTransitionTimeGenerator67:
JDETECTOR::JTransitionTimeGenerator_t JTOOLS::JGridHermiteSplineFunction1D_t JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double > JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, JResult_t, JDistance_t > JTOOLS::JFunction1D< JArgument_t, JResult_t > JTOOLS::JFunctional< JArgument_t, JResult_t >

Public Types

typedef JHermiteSplineCollection< JSplineElement2D< double, double >, JGridCollection, JDistance< typename JElement_t::abscissa_type > > collection_type
 
typedef collection_type::abscissa_type abscissa_type
 
typedef collection_type::ordinate_type ordinate_type
 
typedef collection_type::value_type value_type
 
typedef collection_type::distance_type distance_type
 
typedef collection_type::const_iterator const_iterator
 
typedef collection_type::const_reverse_iterator const_reverse_iterator
 
typedef collection_type::iterator iterator
 
typedef collection_type::reverse_iterator reverse_iterator
 
typedef JFunction1D< abscissa_type, double > function_type
 
typedef function_type::argument_type argument_type
 
typedef function_type::result_type result_type
 
typedef function_type::JExceptionHandler exceptionhandler_type
 
enum  { NUMBER_OF_DIMENSIONS = 1 }
 
typedef JFunctional< JArgument_t, JResult_t > functional_type
 
typedef JSupervisor supervisor_type
 

Public Member Functions

 JTransitionTimeGenerator67 ()
 Default constructor. More...
 
double getProbability (const double t_ns) const
 Get integrated probablity from $-\infty$ to given time. More...
 
result_type operator() (const argument_type x) const
 Function value evaluation. More...
 
virtual result_type evaluate (const argument_type *pX) const =0
 Recursive function value evaluation. More...
 
JSupervisor getSupervisor () const
 Get supervisor. More...
 
const JExceptionHandlergetExceptionHandler () const
 Get exception handler. More...
 
void setExceptionHandler (const JSupervisor &supervisor)
 Set the supervisor for handling of exceptions. More...
 

Static Public Member Functions

static result_type getValue (const JFunctional &function, const argument_type *pX)
 Recursive function value evaluation. More...
 
static JClass< result_type >::argument_type getValue (typename JClass< result_type >::argument_type value, const argument_type *pX)
 Termination of recursive function value evaluation. More...
 

Protected Attributes

JSupervisor supervisor
 

Detailed Description

Implementation to generate PMT transition times based on measurements (see Calibration e-log entry 467).

Definition at line 3118 of file JPMTTransitTimeGenerator.hh.

Member Typedef Documentation

◆ collection_type

typedef JHermiteSplineCollection<JSplineElement2D< double, double > , JGridCollection , JDistance<typename JElement_t::abscissa_type> > JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::collection_type
inherited

Definition at line 588 of file JHermiteSpline.hh.

◆ abscissa_type

typedef collection_type::abscissa_type JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::abscissa_type
inherited

Definition at line 590 of file JHermiteSpline.hh.

◆ ordinate_type

typedef collection_type::ordinate_type JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::ordinate_type
inherited

Definition at line 591 of file JHermiteSpline.hh.

◆ value_type

typedef collection_type::value_type JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::value_type
inherited

Definition at line 592 of file JHermiteSpline.hh.

◆ distance_type

typedef collection_type::distance_type JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::distance_type
inherited

Definition at line 593 of file JHermiteSpline.hh.

◆ const_iterator

typedef collection_type::const_iterator JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::const_iterator
inherited

Definition at line 595 of file JHermiteSpline.hh.

◆ const_reverse_iterator

typedef collection_type::const_reverse_iterator JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::const_reverse_iterator
inherited

Definition at line 596 of file JHermiteSpline.hh.

◆ iterator

typedef collection_type::iterator JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::iterator
inherited

Definition at line 597 of file JHermiteSpline.hh.

◆ reverse_iterator

typedef collection_type::reverse_iterator JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::reverse_iterator
inherited

Definition at line 598 of file JHermiteSpline.hh.

◆ function_type

typedef JFunction1D<abscissa_type, double > JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::function_type
inherited

Definition at line 600 of file JHermiteSpline.hh.

◆ argument_type

typedef function_type::argument_type JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::argument_type
inherited

Definition at line 602 of file JHermiteSpline.hh.

◆ result_type

typedef function_type::result_type JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::result_type
inherited

Definition at line 603 of file JHermiteSpline.hh.

◆ exceptionhandler_type

typedef function_type::JExceptionHandler JTOOLS::JHermiteSplineFunction1D< JSplineElement2D< double, double > , JGridCollection , double , JDistance<typename JElement_t::abscissa_type> >::exceptionhandler_type
inherited

Definition at line 604 of file JHermiteSpline.hh.

◆ functional_type

template<class JArgument_t , class JResult_t >
typedef JFunctional<JArgument_t, JResult_t> JTOOLS::JFunction1D< JArgument_t, JResult_t >::functional_type
inherited

Definition at line 337 of file JFunctional.hh.

◆ supervisor_type

template<class JArgument_t , class JResult_t >
typedef JSupervisor JTOOLS::JFunctional< JArgument_t, JResult_t >::supervisor_type
inherited

Definition at line 89 of file JFunctional.hh.

Member Enumeration Documentation

◆ anonymous enum

template<class JArgument_t , class JResult_t >
anonymous enum
inherited
Enumerator
NUMBER_OF_DIMENSIONS 

Definition at line 335 of file JFunctional.hh.

Constructor & Destructor Documentation

◆ JTransitionTimeGenerator67()

JDETECTOR::JTransitionTimeGenerator67::JTransitionTimeGenerator67 ( )
inline

Default constructor.

Definition at line 3124 of file JPMTTransitTimeGenerator.hh.

3125  {
3126  // produced by JLegolas.cc
3127  (*this)[0.0000] = -19.54246;
3128  (*this)[0.0010] = -3.95805;
3129  (*this)[0.0020] = -3.37333;
3130  (*this)[0.0030] = -3.05093;
3131  (*this)[0.0040] = -2.94608;
3132  (*this)[0.0050] = -2.84710;
3133  (*this)[0.0060] = -2.74811;
3134  (*this)[0.0070] = -2.64913;
3135  (*this)[0.0080] = -2.55015;
3136  (*this)[0.0090] = -2.51315;
3137  (*this)[0.0100] = -2.48137;
3138  (*this)[0.0110] = -2.44958;
3139  (*this)[0.0120] = -2.41780;
3140  (*this)[0.0130] = -2.38602;
3141  (*this)[0.0140] = -2.35424;
3142  (*this)[0.0150] = -2.32246;
3143  (*this)[0.0160] = -2.29068;
3144  (*this)[0.0170] = -2.25890;
3145  (*this)[0.0180] = -2.22712;
3146  (*this)[0.0190] = -2.19533;
3147  (*this)[0.0200] = -2.16355;
3148  (*this)[0.0210] = -2.13177;
3149  (*this)[0.0220] = -2.09999;
3150  (*this)[0.0230] = -2.06821;
3151  (*this)[0.0240] = -2.04017;
3152  (*this)[0.0250] = -2.02810;
3153  (*this)[0.0260] = -2.01603;
3154  (*this)[0.0270] = -2.00397;
3155  (*this)[0.0280] = -1.99190;
3156  (*this)[0.0290] = -1.97983;
3157  (*this)[0.0300] = -1.96777;
3158  (*this)[0.0310] = -1.95570;
3159  (*this)[0.0320] = -1.94363;
3160  (*this)[0.0330] = -1.93156;
3161  (*this)[0.0340] = -1.91950;
3162  (*this)[0.0350] = -1.90743;
3163  (*this)[0.0360] = -1.89536;
3164  (*this)[0.0370] = -1.88330;
3165  (*this)[0.0380] = -1.87123;
3166  (*this)[0.0390] = -1.85916;
3167  (*this)[0.0400] = -1.84709;
3168  (*this)[0.0410] = -1.83503;
3169  (*this)[0.0420] = -1.82296;
3170  (*this)[0.0430] = -1.81089;
3171  (*this)[0.0440] = -1.79882;
3172  (*this)[0.0450] = -1.78676;
3173  (*this)[0.0460] = -1.77469;
3174  (*this)[0.0470] = -1.76262;
3175  (*this)[0.0480] = -1.75056;
3176  (*this)[0.0490] = -1.73849;
3177  (*this)[0.0500] = -1.72642;
3178  (*this)[0.0510] = -1.71435;
3179  (*this)[0.0520] = -1.70229;
3180  (*this)[0.0530] = -1.69022;
3181  (*this)[0.0540] = -1.67815;
3182  (*this)[0.0550] = -1.66609;
3183  (*this)[0.0560] = -1.65402;
3184  (*this)[0.0570] = -1.64195;
3185  (*this)[0.0580] = -1.62988;
3186  (*this)[0.0590] = -1.61782;
3187  (*this)[0.0600] = -1.60575;
3188  (*this)[0.0610] = -1.59368;
3189  (*this)[0.0620] = -1.58161;
3190  (*this)[0.0630] = -1.56955;
3191  (*this)[0.0640] = -1.55748;
3192  (*this)[0.0650] = -1.54541;
3193  (*this)[0.0660] = -1.53801;
3194  (*this)[0.0670] = -1.53212;
3195  (*this)[0.0680] = -1.52623;
3196  (*this)[0.0690] = -1.52034;
3197  (*this)[0.0700] = -1.51445;
3198  (*this)[0.0710] = -1.50856;
3199  (*this)[0.0720] = -1.50266;
3200  (*this)[0.0730] = -1.49677;
3201  (*this)[0.0740] = -1.49088;
3202  (*this)[0.0750] = -1.48499;
3203  (*this)[0.0760] = -1.47910;
3204  (*this)[0.0770] = -1.47321;
3205  (*this)[0.0780] = -1.46732;
3206  (*this)[0.0790] = -1.46143;
3207  (*this)[0.0800] = -1.45554;
3208  (*this)[0.0810] = -1.44965;
3209  (*this)[0.0820] = -1.44376;
3210  (*this)[0.0830] = -1.43786;
3211  (*this)[0.0840] = -1.43197;
3212  (*this)[0.0850] = -1.42608;
3213  (*this)[0.0860] = -1.42019;
3214  (*this)[0.0870] = -1.41430;
3215  (*this)[0.0880] = -1.40841;
3216  (*this)[0.0890] = -1.40252;
3217  (*this)[0.0900] = -1.39663;
3218  (*this)[0.0910] = -1.39074;
3219  (*this)[0.0920] = -1.38485;
3220  (*this)[0.0930] = -1.37896;
3221  (*this)[0.0940] = -1.37306;
3222  (*this)[0.0950] = -1.36717;
3223  (*this)[0.0960] = -1.36128;
3224  (*this)[0.0970] = -1.35539;
3225  (*this)[0.0980] = -1.34950;
3226  (*this)[0.0990] = -1.34361;
3227  (*this)[0.1000] = -1.33772;
3228  (*this)[0.1010] = -1.33183;
3229  (*this)[0.1020] = -1.32594;
3230  (*this)[0.1030] = -1.32005;
3231  (*this)[0.1040] = -1.31416;
3232  (*this)[0.1050] = -1.30826;
3233  (*this)[0.1060] = -1.30237;
3234  (*this)[0.1070] = -1.29648;
3235  (*this)[0.1080] = -1.29059;
3236  (*this)[0.1090] = -1.28470;
3237  (*this)[0.1100] = -1.27881;
3238  (*this)[0.1110] = -1.27292;
3239  (*this)[0.1120] = -1.26703;
3240  (*this)[0.1130] = -1.26114;
3241  (*this)[0.1140] = -1.25525;
3242  (*this)[0.1150] = -1.24936;
3243  (*this)[0.1160] = -1.24346;
3244  (*this)[0.1170] = -1.23757;
3245  (*this)[0.1180] = -1.23168;
3246  (*this)[0.1190] = -1.22579;
3247  (*this)[0.1200] = -1.21990;
3248  (*this)[0.1210] = -1.21401;
3249  (*this)[0.1220] = -1.20812;
3250  (*this)[0.1230] = -1.20223;
3251  (*this)[0.1240] = -1.19634;
3252  (*this)[0.1250] = -1.19045;
3253  (*this)[0.1260] = -1.18456;
3254  (*this)[0.1270] = -1.17866;
3255  (*this)[0.1280] = -1.17277;
3256  (*this)[0.1290] = -1.16688;
3257  (*this)[0.1300] = -1.16099;
3258  (*this)[0.1310] = -1.15510;
3259  (*this)[0.1320] = -1.14921;
3260  (*this)[0.1330] = -1.14332;
3261  (*this)[0.1340] = -1.13743;
3262  (*this)[0.1350] = -1.13154;
3263  (*this)[0.1360] = -1.12565;
3264  (*this)[0.1370] = -1.11976;
3265  (*this)[0.1380] = -1.11386;
3266  (*this)[0.1390] = -1.10797;
3267  (*this)[0.1400] = -1.10208;
3268  (*this)[0.1410] = -1.09619;
3269  (*this)[0.1420] = -1.09030;
3270  (*this)[0.1430] = -1.08441;
3271  (*this)[0.1440] = -1.07852;
3272  (*this)[0.1450] = -1.07263;
3273  (*this)[0.1460] = -1.06674;
3274  (*this)[0.1470] = -1.06085;
3275  (*this)[0.1480] = -1.05496;
3276  (*this)[0.1490] = -1.04906;
3277  (*this)[0.1500] = -1.04317;
3278  (*this)[0.1510] = -1.03918;
3279  (*this)[0.1520] = -1.03545;
3280  (*this)[0.1530] = -1.03173;
3281  (*this)[0.1540] = -1.02800;
3282  (*this)[0.1550] = -1.02427;
3283  (*this)[0.1560] = -1.02054;
3284  (*this)[0.1570] = -1.01681;
3285  (*this)[0.1580] = -1.01308;
3286  (*this)[0.1590] = -1.00935;
3287  (*this)[0.1600] = -1.00562;
3288  (*this)[0.1610] = -1.00189;
3289  (*this)[0.1620] = -0.99817;
3290  (*this)[0.1630] = -0.99444;
3291  (*this)[0.1640] = -0.99071;
3292  (*this)[0.1650] = -0.98698;
3293  (*this)[0.1660] = -0.98325;
3294  (*this)[0.1670] = -0.97952;
3295  (*this)[0.1680] = -0.97579;
3296  (*this)[0.1690] = -0.97206;
3297  (*this)[0.1700] = -0.96834;
3298  (*this)[0.1710] = -0.96461;
3299  (*this)[0.1720] = -0.96088;
3300  (*this)[0.1730] = -0.95715;
3301  (*this)[0.1740] = -0.95342;
3302  (*this)[0.1750] = -0.94969;
3303  (*this)[0.1760] = -0.94596;
3304  (*this)[0.1770] = -0.94223;
3305  (*this)[0.1780] = -0.93851;
3306  (*this)[0.1790] = -0.93478;
3307  (*this)[0.1800] = -0.93105;
3308  (*this)[0.1810] = -0.92732;
3309  (*this)[0.1820] = -0.92359;
3310  (*this)[0.1830] = -0.91986;
3311  (*this)[0.1840] = -0.91613;
3312  (*this)[0.1850] = -0.91240;
3313  (*this)[0.1860] = -0.90868;
3314  (*this)[0.1870] = -0.90495;
3315  (*this)[0.1880] = -0.90122;
3316  (*this)[0.1890] = -0.89749;
3317  (*this)[0.1900] = -0.89376;
3318  (*this)[0.1910] = -0.89003;
3319  (*this)[0.1920] = -0.88630;
3320  (*this)[0.1930] = -0.88257;
3321  (*this)[0.1940] = -0.87885;
3322  (*this)[0.1950] = -0.87512;
3323  (*this)[0.1960] = -0.87139;
3324  (*this)[0.1970] = -0.86766;
3325  (*this)[0.1980] = -0.86393;
3326  (*this)[0.1990] = -0.86020;
3327  (*this)[0.2000] = -0.85647;
3328  (*this)[0.2010] = -0.85274;
3329  (*this)[0.2020] = -0.84902;
3330  (*this)[0.2030] = -0.84529;
3331  (*this)[0.2040] = -0.84156;
3332  (*this)[0.2050] = -0.83783;
3333  (*this)[0.2060] = -0.83410;
3334  (*this)[0.2070] = -0.83037;
3335  (*this)[0.2080] = -0.82664;
3336  (*this)[0.2090] = -0.82291;
3337  (*this)[0.2100] = -0.81919;
3338  (*this)[0.2110] = -0.81546;
3339  (*this)[0.2120] = -0.81173;
3340  (*this)[0.2130] = -0.80800;
3341  (*this)[0.2140] = -0.80427;
3342  (*this)[0.2150] = -0.80054;
3343  (*this)[0.2160] = -0.79681;
3344  (*this)[0.2170] = -0.79308;
3345  (*this)[0.2180] = -0.78935;
3346  (*this)[0.2190] = -0.78563;
3347  (*this)[0.2200] = -0.78190;
3348  (*this)[0.2210] = -0.77817;
3349  (*this)[0.2220] = -0.77444;
3350  (*this)[0.2230] = -0.77071;
3351  (*this)[0.2240] = -0.76698;
3352  (*this)[0.2250] = -0.76325;
3353  (*this)[0.2260] = -0.75952;
3354  (*this)[0.2270] = -0.75580;
3355  (*this)[0.2280] = -0.75207;
3356  (*this)[0.2290] = -0.74834;
3357  (*this)[0.2300] = -0.74461;
3358  (*this)[0.2310] = -0.74088;
3359  (*this)[0.2320] = -0.73715;
3360  (*this)[0.2330] = -0.73342;
3361  (*this)[0.2340] = -0.72969;
3362  (*this)[0.2350] = -0.72597;
3363  (*this)[0.2360] = -0.72224;
3364  (*this)[0.2370] = -0.71851;
3365  (*this)[0.2380] = -0.71478;
3366  (*this)[0.2390] = -0.71105;
3367  (*this)[0.2400] = -0.70732;
3368  (*this)[0.2410] = -0.70359;
3369  (*this)[0.2420] = -0.69986;
3370  (*this)[0.2430] = -0.69614;
3371  (*this)[0.2440] = -0.69241;
3372  (*this)[0.2450] = -0.68868;
3373  (*this)[0.2460] = -0.68495;
3374  (*this)[0.2470] = -0.68122;
3375  (*this)[0.2480] = -0.67749;
3376  (*this)[0.2490] = -0.67376;
3377  (*this)[0.2500] = -0.67003;
3378  (*this)[0.2510] = -0.66631;
3379  (*this)[0.2520] = -0.66258;
3380  (*this)[0.2530] = -0.65885;
3381  (*this)[0.2540] = -0.65512;
3382  (*this)[0.2550] = -0.65139;
3383  (*this)[0.2560] = -0.64766;
3384  (*this)[0.2570] = -0.64393;
3385  (*this)[0.2580] = -0.64020;
3386  (*this)[0.2590] = -0.63648;
3387  (*this)[0.2600] = -0.63275;
3388  (*this)[0.2610] = -0.62902;
3389  (*this)[0.2620] = -0.62529;
3390  (*this)[0.2630] = -0.62156;
3391  (*this)[0.2640] = -0.61783;
3392  (*this)[0.2650] = -0.61410;
3393  (*this)[0.2660] = -0.61037;
3394  (*this)[0.2670] = -0.60665;
3395  (*this)[0.2680] = -0.60292;
3396  (*this)[0.2690] = -0.59919;
3397  (*this)[0.2700] = -0.59546;
3398  (*this)[0.2710] = -0.59173;
3399  (*this)[0.2720] = -0.58800;
3400  (*this)[0.2730] = -0.58427;
3401  (*this)[0.2740] = -0.58054;
3402  (*this)[0.2750] = -0.57682;
3403  (*this)[0.2760] = -0.57309;
3404  (*this)[0.2770] = -0.56936;
3405  (*this)[0.2780] = -0.56563;
3406  (*this)[0.2790] = -0.56190;
3407  (*this)[0.2800] = -0.55817;
3408  (*this)[0.2810] = -0.55444;
3409  (*this)[0.2820] = -0.55071;
3410  (*this)[0.2830] = -0.54698;
3411  (*this)[0.2840] = -0.54326;
3412  (*this)[0.2850] = -0.54003;
3413  (*this)[0.2860] = -0.53694;
3414  (*this)[0.2870] = -0.53385;
3415  (*this)[0.2880] = -0.53076;
3416  (*this)[0.2890] = -0.52767;
3417  (*this)[0.2900] = -0.52458;
3418  (*this)[0.2910] = -0.52149;
3419  (*this)[0.2920] = -0.51840;
3420  (*this)[0.2930] = -0.51532;
3421  (*this)[0.2940] = -0.51223;
3422  (*this)[0.2950] = -0.50914;
3423  (*this)[0.2960] = -0.50605;
3424  (*this)[0.2970] = -0.50296;
3425  (*this)[0.2980] = -0.49987;
3426  (*this)[0.2990] = -0.49678;
3427  (*this)[0.3000] = -0.49369;
3428  (*this)[0.3010] = -0.49060;
3429  (*this)[0.3020] = -0.48751;
3430  (*this)[0.3030] = -0.48442;
3431  (*this)[0.3040] = -0.48133;
3432  (*this)[0.3050] = -0.47824;
3433  (*this)[0.3060] = -0.47515;
3434  (*this)[0.3070] = -0.47206;
3435  (*this)[0.3080] = -0.46897;
3436  (*this)[0.3090] = -0.46589;
3437  (*this)[0.3100] = -0.46280;
3438  (*this)[0.3110] = -0.45971;
3439  (*this)[0.3120] = -0.45662;
3440  (*this)[0.3130] = -0.45353;
3441  (*this)[0.3140] = -0.45044;
3442  (*this)[0.3150] = -0.44735;
3443  (*this)[0.3160] = -0.44426;
3444  (*this)[0.3170] = -0.44117;
3445  (*this)[0.3180] = -0.43808;
3446  (*this)[0.3190] = -0.43499;
3447  (*this)[0.3200] = -0.43190;
3448  (*this)[0.3210] = -0.42881;
3449  (*this)[0.3220] = -0.42572;
3450  (*this)[0.3230] = -0.42263;
3451  (*this)[0.3240] = -0.41955;
3452  (*this)[0.3250] = -0.41646;
3453  (*this)[0.3260] = -0.41337;
3454  (*this)[0.3270] = -0.41028;
3455  (*this)[0.3280] = -0.40719;
3456  (*this)[0.3290] = -0.40410;
3457  (*this)[0.3300] = -0.40101;
3458  (*this)[0.3310] = -0.39792;
3459  (*this)[0.3320] = -0.39483;
3460  (*this)[0.3330] = -0.39174;
3461  (*this)[0.3340] = -0.38865;
3462  (*this)[0.3350] = -0.38556;
3463  (*this)[0.3360] = -0.38247;
3464  (*this)[0.3370] = -0.37938;
3465  (*this)[0.3380] = -0.37629;
3466  (*this)[0.3390] = -0.37320;
3467  (*this)[0.3400] = -0.37012;
3468  (*this)[0.3410] = -0.36703;
3469  (*this)[0.3420] = -0.36394;
3470  (*this)[0.3430] = -0.36085;
3471  (*this)[0.3440] = -0.35776;
3472  (*this)[0.3450] = -0.35467;
3473  (*this)[0.3460] = -0.35158;
3474  (*this)[0.3470] = -0.34849;
3475  (*this)[0.3480] = -0.34540;
3476  (*this)[0.3490] = -0.34231;
3477  (*this)[0.3500] = -0.33922;
3478  (*this)[0.3510] = -0.33613;
3479  (*this)[0.3520] = -0.33304;
3480  (*this)[0.3530] = -0.32995;
3481  (*this)[0.3540] = -0.32686;
3482  (*this)[0.3550] = -0.32377;
3483  (*this)[0.3560] = -0.32069;
3484  (*this)[0.3570] = -0.31760;
3485  (*this)[0.3580] = -0.31451;
3486  (*this)[0.3590] = -0.31142;
3487  (*this)[0.3600] = -0.30833;
3488  (*this)[0.3610] = -0.30524;
3489  (*this)[0.3620] = -0.30215;
3490  (*this)[0.3630] = -0.29906;
3491  (*this)[0.3640] = -0.29597;
3492  (*this)[0.3650] = -0.29288;
3493  (*this)[0.3660] = -0.28979;
3494  (*this)[0.3670] = -0.28670;
3495  (*this)[0.3680] = -0.28361;
3496  (*this)[0.3690] = -0.28052;
3497  (*this)[0.3700] = -0.27743;
3498  (*this)[0.3710] = -0.27435;
3499  (*this)[0.3720] = -0.27126;
3500  (*this)[0.3730] = -0.26817;
3501  (*this)[0.3740] = -0.26508;
3502  (*this)[0.3750] = -0.26199;
3503  (*this)[0.3760] = -0.25890;
3504  (*this)[0.3770] = -0.25581;
3505  (*this)[0.3780] = -0.25272;
3506  (*this)[0.3790] = -0.24963;
3507  (*this)[0.3800] = -0.24654;
3508  (*this)[0.3810] = -0.24345;
3509  (*this)[0.3820] = -0.24036;
3510  (*this)[0.3830] = -0.23727;
3511  (*this)[0.3840] = -0.23418;
3512  (*this)[0.3850] = -0.23109;
3513  (*this)[0.3860] = -0.22800;
3514  (*this)[0.3870] = -0.22492;
3515  (*this)[0.3880] = -0.22183;
3516  (*this)[0.3890] = -0.21874;
3517  (*this)[0.3900] = -0.21565;
3518  (*this)[0.3910] = -0.21256;
3519  (*this)[0.3920] = -0.20947;
3520  (*this)[0.3930] = -0.20638;
3521  (*this)[0.3940] = -0.20329;
3522  (*this)[0.3950] = -0.20020;
3523  (*this)[0.3960] = -0.19711;
3524  (*this)[0.3970] = -0.19402;
3525  (*this)[0.3980] = -0.19093;
3526  (*this)[0.3990] = -0.18784;
3527  (*this)[0.4000] = -0.18475;
3528  (*this)[0.4010] = -0.18166;
3529  (*this)[0.4020] = -0.17858;
3530  (*this)[0.4030] = -0.17549;
3531  (*this)[0.4040] = -0.17240;
3532  (*this)[0.4050] = -0.16931;
3533  (*this)[0.4060] = -0.16622;
3534  (*this)[0.4070] = -0.16313;
3535  (*this)[0.4080] = -0.16004;
3536  (*this)[0.4090] = -0.15695;
3537  (*this)[0.4100] = -0.15386;
3538  (*this)[0.4110] = -0.15077;
3539  (*this)[0.4120] = -0.14768;
3540  (*this)[0.4130] = -0.14459;
3541  (*this)[0.4140] = -0.14150;
3542  (*this)[0.4150] = -0.13841;
3543  (*this)[0.4160] = -0.13532;
3544  (*this)[0.4170] = -0.13223;
3545  (*this)[0.4180] = -0.12915;
3546  (*this)[0.4190] = -0.12606;
3547  (*this)[0.4200] = -0.12297;
3548  (*this)[0.4210] = -0.11988;
3549  (*this)[0.4220] = -0.11679;
3550  (*this)[0.4230] = -0.11370;
3551  (*this)[0.4240] = -0.11061;
3552  (*this)[0.4250] = -0.10752;
3553  (*this)[0.4260] = -0.10443;
3554  (*this)[0.4270] = -0.10134;
3555  (*this)[0.4280] = -0.09825;
3556  (*this)[0.4290] = -0.09516;
3557  (*this)[0.4300] = -0.09207;
3558  (*this)[0.4310] = -0.08898;
3559  (*this)[0.4320] = -0.08589;
3560  (*this)[0.4330] = -0.08281;
3561  (*this)[0.4340] = -0.07972;
3562  (*this)[0.4350] = -0.07663;
3563  (*this)[0.4360] = -0.07354;
3564  (*this)[0.4370] = -0.07045;
3565  (*this)[0.4380] = -0.06736;
3566  (*this)[0.4390] = -0.06427;
3567  (*this)[0.4400] = -0.06118;
3568  (*this)[0.4410] = -0.05809;
3569  (*this)[0.4420] = -0.05500;
3570  (*this)[0.4430] = -0.05191;
3571  (*this)[0.4440] = -0.04882;
3572  (*this)[0.4450] = -0.04573;
3573  (*this)[0.4460] = -0.04264;
3574  (*this)[0.4470] = -0.03940;
3575  (*this)[0.4480] = -0.03614;
3576  (*this)[0.4490] = -0.03288;
3577  (*this)[0.4500] = -0.02962;
3578  (*this)[0.4510] = -0.02637;
3579  (*this)[0.4520] = -0.02311;
3580  (*this)[0.4530] = -0.01985;
3581  (*this)[0.4540] = -0.01659;
3582  (*this)[0.4550] = -0.01333;
3583  (*this)[0.4560] = -0.01008;
3584  (*this)[0.4570] = -0.00682;
3585  (*this)[0.4580] = -0.00356;
3586  (*this)[0.4590] = -0.00030;
3587  (*this)[0.4600] = +0.00295;
3588  (*this)[0.4610] = +0.00621;
3589  (*this)[0.4620] = +0.00947;
3590  (*this)[0.4630] = +0.01273;
3591  (*this)[0.4640] = +0.01598;
3592  (*this)[0.4650] = +0.01924;
3593  (*this)[0.4660] = +0.02250;
3594  (*this)[0.4670] = +0.02576;
3595  (*this)[0.4680] = +0.02902;
3596  (*this)[0.4690] = +0.03227;
3597  (*this)[0.4700] = +0.03553;
3598  (*this)[0.4710] = +0.03879;
3599  (*this)[0.4720] = +0.04205;
3600  (*this)[0.4730] = +0.04530;
3601  (*this)[0.4740] = +0.04856;
3602  (*this)[0.4750] = +0.05182;
3603  (*this)[0.4760] = +0.05508;
3604  (*this)[0.4770] = +0.05833;
3605  (*this)[0.4780] = +0.06159;
3606  (*this)[0.4790] = +0.06485;
3607  (*this)[0.4800] = +0.06811;
3608  (*this)[0.4810] = +0.07136;
3609  (*this)[0.4820] = +0.07462;
3610  (*this)[0.4830] = +0.07788;
3611  (*this)[0.4840] = +0.08114;
3612  (*this)[0.4850] = +0.08440;
3613  (*this)[0.4860] = +0.08765;
3614  (*this)[0.4870] = +0.09091;
3615  (*this)[0.4880] = +0.09417;
3616  (*this)[0.4890] = +0.09743;
3617  (*this)[0.4900] = +0.10068;
3618  (*this)[0.4910] = +0.10394;
3619  (*this)[0.4920] = +0.10720;
3620  (*this)[0.4930] = +0.11046;
3621  (*this)[0.4940] = +0.11371;
3622  (*this)[0.4950] = +0.11697;
3623  (*this)[0.4960] = +0.12023;
3624  (*this)[0.4970] = +0.12349;
3625  (*this)[0.4980] = +0.12674;
3626  (*this)[0.4990] = +0.13000;
3627  (*this)[0.5000] = +0.13326;
3628  (*this)[0.5010] = +0.13652;
3629  (*this)[0.5020] = +0.13978;
3630  (*this)[0.5030] = +0.14303;
3631  (*this)[0.5040] = +0.14629;
3632  (*this)[0.5050] = +0.14955;
3633  (*this)[0.5060] = +0.15281;
3634  (*this)[0.5070] = +0.15606;
3635  (*this)[0.5080] = +0.15932;
3636  (*this)[0.5090] = +0.16258;
3637  (*this)[0.5100] = +0.16584;
3638  (*this)[0.5110] = +0.16909;
3639  (*this)[0.5120] = +0.17235;
3640  (*this)[0.5130] = +0.17561;
3641  (*this)[0.5140] = +0.17887;
3642  (*this)[0.5150] = +0.18213;
3643  (*this)[0.5160] = +0.18538;
3644  (*this)[0.5170] = +0.18864;
3645  (*this)[0.5180] = +0.19190;
3646  (*this)[0.5190] = +0.19516;
3647  (*this)[0.5200] = +0.19841;
3648  (*this)[0.5210] = +0.20167;
3649  (*this)[0.5220] = +0.20493;
3650  (*this)[0.5230] = +0.20819;
3651  (*this)[0.5240] = +0.21144;
3652  (*this)[0.5250] = +0.21470;
3653  (*this)[0.5260] = +0.21796;
3654  (*this)[0.5270] = +0.22122;
3655  (*this)[0.5280] = +0.22447;
3656  (*this)[0.5290] = +0.22773;
3657  (*this)[0.5300] = +0.23099;
3658  (*this)[0.5310] = +0.23425;
3659  (*this)[0.5320] = +0.23751;
3660  (*this)[0.5330] = +0.24076;
3661  (*this)[0.5340] = +0.24402;
3662  (*this)[0.5350] = +0.24728;
3663  (*this)[0.5360] = +0.25054;
3664  (*this)[0.5370] = +0.25379;
3665  (*this)[0.5380] = +0.25705;
3666  (*this)[0.5390] = +0.26031;
3667  (*this)[0.5400] = +0.26357;
3668  (*this)[0.5410] = +0.26682;
3669  (*this)[0.5420] = +0.27008;
3670  (*this)[0.5430] = +0.27334;
3671  (*this)[0.5440] = +0.27660;
3672  (*this)[0.5450] = +0.27986;
3673  (*this)[0.5460] = +0.28311;
3674  (*this)[0.5470] = +0.28637;
3675  (*this)[0.5480] = +0.28963;
3676  (*this)[0.5490] = +0.29289;
3677  (*this)[0.5500] = +0.29614;
3678  (*this)[0.5510] = +0.29940;
3679  (*this)[0.5520] = +0.30266;
3680  (*this)[0.5530] = +0.30592;
3681  (*this)[0.5540] = +0.30917;
3682  (*this)[0.5550] = +0.31243;
3683  (*this)[0.5560] = +0.31569;
3684  (*this)[0.5570] = +0.31895;
3685  (*this)[0.5580] = +0.32220;
3686  (*this)[0.5590] = +0.32546;
3687  (*this)[0.5600] = +0.32872;
3688  (*this)[0.5610] = +0.33198;
3689  (*this)[0.5620] = +0.33524;
3690  (*this)[0.5630] = +0.33849;
3691  (*this)[0.5640] = +0.34175;
3692  (*this)[0.5650] = +0.34501;
3693  (*this)[0.5660] = +0.34827;
3694  (*this)[0.5670] = +0.35152;
3695  (*this)[0.5680] = +0.35478;
3696  (*this)[0.5690] = +0.35804;
3697  (*this)[0.5700] = +0.36130;
3698  (*this)[0.5710] = +0.36455;
3699  (*this)[0.5720] = +0.36781;
3700  (*this)[0.5730] = +0.37107;
3701  (*this)[0.5740] = +0.37433;
3702  (*this)[0.5750] = +0.37759;
3703  (*this)[0.5760] = +0.38084;
3704  (*this)[0.5770] = +0.38410;
3705  (*this)[0.5780] = +0.38736;
3706  (*this)[0.5790] = +0.39062;
3707  (*this)[0.5800] = +0.39387;
3708  (*this)[0.5810] = +0.39713;
3709  (*this)[0.5820] = +0.40039;
3710  (*this)[0.5830] = +0.40365;
3711  (*this)[0.5840] = +0.40690;
3712  (*this)[0.5850] = +0.41016;
3713  (*this)[0.5860] = +0.41342;
3714  (*this)[0.5870] = +0.41668;
3715  (*this)[0.5880] = +0.41993;
3716  (*this)[0.5890] = +0.42319;
3717  (*this)[0.5900] = +0.42645;
3718  (*this)[0.5910] = +0.42971;
3719  (*this)[0.5920] = +0.43297;
3720  (*this)[0.5930] = +0.43622;
3721  (*this)[0.5940] = +0.43948;
3722  (*this)[0.5950] = +0.44274;
3723  (*this)[0.5960] = +0.44600;
3724  (*this)[0.5970] = +0.44925;
3725  (*this)[0.5980] = +0.45251;
3726  (*this)[0.5990] = +0.45577;
3727  (*this)[0.6000] = +0.45949;
3728  (*this)[0.6010] = +0.46377;
3729  (*this)[0.6020] = +0.46806;
3730  (*this)[0.6030] = +0.47234;
3731  (*this)[0.6040] = +0.47662;
3732  (*this)[0.6050] = +0.48090;
3733  (*this)[0.6060] = +0.48518;
3734  (*this)[0.6070] = +0.48946;
3735  (*this)[0.6080] = +0.49374;
3736  (*this)[0.6090] = +0.49802;
3737  (*this)[0.6100] = +0.50231;
3738  (*this)[0.6110] = +0.50659;
3739  (*this)[0.6120] = +0.51087;
3740  (*this)[0.6130] = +0.51515;
3741  (*this)[0.6140] = +0.51943;
3742  (*this)[0.6150] = +0.52371;
3743  (*this)[0.6160] = +0.52799;
3744  (*this)[0.6170] = +0.53227;
3745  (*this)[0.6180] = +0.53656;
3746  (*this)[0.6190] = +0.54084;
3747  (*this)[0.6200] = +0.54512;
3748  (*this)[0.6210] = +0.54940;
3749  (*this)[0.6220] = +0.55368;
3750  (*this)[0.6230] = +0.55796;
3751  (*this)[0.6240] = +0.56224;
3752  (*this)[0.6250] = +0.56652;
3753  (*this)[0.6260] = +0.57081;
3754  (*this)[0.6270] = +0.57509;
3755  (*this)[0.6280] = +0.57937;
3756  (*this)[0.6290] = +0.58365;
3757  (*this)[0.6300] = +0.58793;
3758  (*this)[0.6310] = +0.59221;
3759  (*this)[0.6320] = +0.59649;
3760  (*this)[0.6330] = +0.60077;
3761  (*this)[0.6340] = +0.60505;
3762  (*this)[0.6350] = +0.60934;
3763  (*this)[0.6360] = +0.61362;
3764  (*this)[0.6370] = +0.61790;
3765  (*this)[0.6380] = +0.62218;
3766  (*this)[0.6390] = +0.62646;
3767  (*this)[0.6400] = +0.63074;
3768  (*this)[0.6410] = +0.63502;
3769  (*this)[0.6420] = +0.63930;
3770  (*this)[0.6430] = +0.64359;
3771  (*this)[0.6440] = +0.64787;
3772  (*this)[0.6450] = +0.65215;
3773  (*this)[0.6460] = +0.65643;
3774  (*this)[0.6470] = +0.66071;
3775  (*this)[0.6480] = +0.66499;
3776  (*this)[0.6490] = +0.66927;
3777  (*this)[0.6500] = +0.67355;
3778  (*this)[0.6510] = +0.67784;
3779  (*this)[0.6520] = +0.68212;
3780  (*this)[0.6530] = +0.68640;
3781  (*this)[0.6540] = +0.69068;
3782  (*this)[0.6550] = +0.69496;
3783  (*this)[0.6560] = +0.69924;
3784  (*this)[0.6570] = +0.70352;
3785  (*this)[0.6580] = +0.70780;
3786  (*this)[0.6590] = +0.71209;
3787  (*this)[0.6600] = +0.71637;
3788  (*this)[0.6610] = +0.72065;
3789  (*this)[0.6620] = +0.72493;
3790  (*this)[0.6630] = +0.72921;
3791  (*this)[0.6640] = +0.73349;
3792  (*this)[0.6650] = +0.73777;
3793  (*this)[0.6660] = +0.74205;
3794  (*this)[0.6670] = +0.74634;
3795  (*this)[0.6680] = +0.75062;
3796  (*this)[0.6690] = +0.75490;
3797  (*this)[0.6700] = +0.75918;
3798  (*this)[0.6710] = +0.76346;
3799  (*this)[0.6720] = +0.76774;
3800  (*this)[0.6730] = +0.77202;
3801  (*this)[0.6740] = +0.77630;
3802  (*this)[0.6750] = +0.78059;
3803  (*this)[0.6760] = +0.78487;
3804  (*this)[0.6770] = +0.78915;
3805  (*this)[0.6780] = +0.79343;
3806  (*this)[0.6790] = +0.79771;
3807  (*this)[0.6800] = +0.80199;
3808  (*this)[0.6810] = +0.80627;
3809  (*this)[0.6820] = +0.81055;
3810  (*this)[0.6830] = +0.81483;
3811  (*this)[0.6840] = +0.81912;
3812  (*this)[0.6850] = +0.82340;
3813  (*this)[0.6860] = +0.82768;
3814  (*this)[0.6870] = +0.83196;
3815  (*this)[0.6880] = +0.83624;
3816  (*this)[0.6890] = +0.84052;
3817  (*this)[0.6900] = +0.84480;
3818  (*this)[0.6910] = +0.84908;
3819  (*this)[0.6920] = +0.85337;
3820  (*this)[0.6930] = +0.85765;
3821  (*this)[0.6940] = +0.86193;
3822  (*this)[0.6950] = +0.86621;
3823  (*this)[0.6960] = +0.87049;
3824  (*this)[0.6970] = +0.87477;
3825  (*this)[0.6980] = +0.87905;
3826  (*this)[0.6990] = +0.88333;
3827  (*this)[0.7000] = +0.88762;
3828  (*this)[0.7010] = +0.89190;
3829  (*this)[0.7020] = +0.89618;
3830  (*this)[0.7030] = +0.90046;
3831  (*this)[0.7040] = +0.90474;
3832  (*this)[0.7050] = +0.90902;
3833  (*this)[0.7060] = +0.91330;
3834  (*this)[0.7070] = +0.91758;
3835  (*this)[0.7080] = +0.92187;
3836  (*this)[0.7090] = +0.92615;
3837  (*this)[0.7100] = +0.93043;
3838  (*this)[0.7110] = +0.93471;
3839  (*this)[0.7120] = +0.93899;
3840  (*this)[0.7130] = +0.94327;
3841  (*this)[0.7140] = +0.94755;
3842  (*this)[0.7150] = +0.95183;
3843  (*this)[0.7160] = +0.95612;
3844  (*this)[0.7170] = +0.96171;
3845  (*this)[0.7180] = +0.96795;
3846  (*this)[0.7190] = +0.97420;
3847  (*this)[0.7200] = +0.98045;
3848  (*this)[0.7210] = +0.98669;
3849  (*this)[0.7220] = +0.99294;
3850  (*this)[0.7230] = +0.99919;
3851  (*this)[0.7240] = +1.00543;
3852  (*this)[0.7250] = +1.01168;
3853  (*this)[0.7260] = +1.01793;
3854  (*this)[0.7270] = +1.02417;
3855  (*this)[0.7280] = +1.03042;
3856  (*this)[0.7290] = +1.03667;
3857  (*this)[0.7300] = +1.04291;
3858  (*this)[0.7310] = +1.04916;
3859  (*this)[0.7320] = +1.05541;
3860  (*this)[0.7330] = +1.06165;
3861  (*this)[0.7340] = +1.06790;
3862  (*this)[0.7350] = +1.07415;
3863  (*this)[0.7360] = +1.08039;
3864  (*this)[0.7370] = +1.08664;
3865  (*this)[0.7380] = +1.09289;
3866  (*this)[0.7390] = +1.09913;
3867  (*this)[0.7400] = +1.10538;
3868  (*this)[0.7410] = +1.11163;
3869  (*this)[0.7420] = +1.11787;
3870  (*this)[0.7430] = +1.12412;
3871  (*this)[0.7440] = +1.13037;
3872  (*this)[0.7450] = +1.13661;
3873  (*this)[0.7460] = +1.14286;
3874  (*this)[0.7470] = +1.14911;
3875  (*this)[0.7480] = +1.15535;
3876  (*this)[0.7490] = +1.16160;
3877  (*this)[0.7500] = +1.16785;
3878  (*this)[0.7510] = +1.17409;
3879  (*this)[0.7520] = +1.18034;
3880  (*this)[0.7530] = +1.18659;
3881  (*this)[0.7540] = +1.19283;
3882  (*this)[0.7550] = +1.19908;
3883  (*this)[0.7560] = +1.20533;
3884  (*this)[0.7570] = +1.21157;
3885  (*this)[0.7580] = +1.21782;
3886  (*this)[0.7590] = +1.22407;
3887  (*this)[0.7600] = +1.23031;
3888  (*this)[0.7610] = +1.23656;
3889  (*this)[0.7620] = +1.24281;
3890  (*this)[0.7630] = +1.24905;
3891  (*this)[0.7640] = +1.25530;
3892  (*this)[0.7650] = +1.26155;
3893  (*this)[0.7660] = +1.26779;
3894  (*this)[0.7670] = +1.27404;
3895  (*this)[0.7680] = +1.28029;
3896  (*this)[0.7690] = +1.28653;
3897  (*this)[0.7700] = +1.29278;
3898  (*this)[0.7710] = +1.29903;
3899  (*this)[0.7720] = +1.30527;
3900  (*this)[0.7730] = +1.31152;
3901  (*this)[0.7740] = +1.31777;
3902  (*this)[0.7750] = +1.32401;
3903  (*this)[0.7760] = +1.33026;
3904  (*this)[0.7770] = +1.33651;
3905  (*this)[0.7780] = +1.34275;
3906  (*this)[0.7790] = +1.34900;
3907  (*this)[0.7800] = +1.35525;
3908  (*this)[0.7810] = +1.36149;
3909  (*this)[0.7820] = +1.36774;
3910  (*this)[0.7830] = +1.37399;
3911  (*this)[0.7840] = +1.38023;
3912  (*this)[0.7850] = +1.38648;
3913  (*this)[0.7860] = +1.39273;
3914  (*this)[0.7870] = +1.39897;
3915  (*this)[0.7880] = +1.40522;
3916  (*this)[0.7890] = +1.41147;
3917  (*this)[0.7900] = +1.41771;
3918  (*this)[0.7910] = +1.42396;
3919  (*this)[0.7920] = +1.43021;
3920  (*this)[0.7930] = +1.43645;
3921  (*this)[0.7940] = +1.44270;
3922  (*this)[0.7950] = +1.44895;
3923  (*this)[0.7960] = +1.45519;
3924  (*this)[0.7970] = +1.46328;
3925  (*this)[0.7980] = +1.47248;
3926  (*this)[0.7990] = +1.48167;
3927  (*this)[0.8000] = +1.49087;
3928  (*this)[0.8010] = +1.50006;
3929  (*this)[0.8020] = +1.50926;
3930  (*this)[0.8030] = +1.51845;
3931  (*this)[0.8040] = +1.52765;
3932  (*this)[0.8050] = +1.53684;
3933  (*this)[0.8060] = +1.54604;
3934  (*this)[0.8070] = +1.55524;
3935  (*this)[0.8080] = +1.56443;
3936  (*this)[0.8090] = +1.57363;
3937  (*this)[0.8100] = +1.58282;
3938  (*this)[0.8110] = +1.59202;
3939  (*this)[0.8120] = +1.60121;
3940  (*this)[0.8130] = +1.61041;
3941  (*this)[0.8140] = +1.61961;
3942  (*this)[0.8150] = +1.62880;
3943  (*this)[0.8160] = +1.63800;
3944  (*this)[0.8170] = +1.64719;
3945  (*this)[0.8180] = +1.65639;
3946  (*this)[0.8190] = +1.66558;
3947  (*this)[0.8200] = +1.67478;
3948  (*this)[0.8210] = +1.68398;
3949  (*this)[0.8220] = +1.69317;
3950  (*this)[0.8230] = +1.70237;
3951  (*this)[0.8240] = +1.71156;
3952  (*this)[0.8250] = +1.72076;
3953  (*this)[0.8260] = +1.72995;
3954  (*this)[0.8270] = +1.73915;
3955  (*this)[0.8280] = +1.74835;
3956  (*this)[0.8290] = +1.75754;
3957  (*this)[0.8300] = +1.76674;
3958  (*this)[0.8310] = +1.77593;
3959  (*this)[0.8320] = +1.78513;
3960  (*this)[0.8330] = +1.79432;
3961  (*this)[0.8340] = +1.80352;
3962  (*this)[0.8350] = +1.81272;
3963  (*this)[0.8360] = +1.82191;
3964  (*this)[0.8370] = +1.83111;
3965  (*this)[0.8380] = +1.84030;
3966  (*this)[0.8390] = +1.84950;
3967  (*this)[0.8400] = +1.85869;
3968  (*this)[0.8410] = +1.86789;
3969  (*this)[0.8420] = +1.87708;
3970  (*this)[0.8430] = +1.88628;
3971  (*this)[0.8440] = +1.89548;
3972  (*this)[0.8450] = +1.90467;
3973  (*this)[0.8460] = +1.91387;
3974  (*this)[0.8470] = +1.92306;
3975  (*this)[0.8480] = +1.93226;
3976  (*this)[0.8490] = +1.94145;
3977  (*this)[0.8500] = +1.95065;
3978  (*this)[0.8510] = +1.96079;
3979  (*this)[0.8520] = +1.97373;
3980  (*this)[0.8530] = +1.98668;
3981  (*this)[0.8540] = +1.99962;
3982  (*this)[0.8550] = +2.01257;
3983  (*this)[0.8560] = +2.02551;
3984  (*this)[0.8570] = +2.03846;
3985  (*this)[0.8580] = +2.05140;
3986  (*this)[0.8590] = +2.06435;
3987  (*this)[0.8600] = +2.07729;
3988  (*this)[0.8610] = +2.09024;
3989  (*this)[0.8620] = +2.10318;
3990  (*this)[0.8630] = +2.11613;
3991  (*this)[0.8640] = +2.12908;
3992  (*this)[0.8650] = +2.14202;
3993  (*this)[0.8660] = +2.15497;
3994  (*this)[0.8670] = +2.16791;
3995  (*this)[0.8680] = +2.18086;
3996  (*this)[0.8690] = +2.19380;
3997  (*this)[0.8700] = +2.20675;
3998  (*this)[0.8710] = +2.21969;
3999  (*this)[0.8720] = +2.23264;
4000  (*this)[0.8730] = +2.24558;
4001  (*this)[0.8740] = +2.25853;
4002  (*this)[0.8750] = +2.27147;
4003  (*this)[0.8760] = +2.28442;
4004  (*this)[0.8770] = +2.29736;
4005  (*this)[0.8780] = +2.31031;
4006  (*this)[0.8790] = +2.32326;
4007  (*this)[0.8800] = +2.33620;
4008  (*this)[0.8810] = +2.34915;
4009  (*this)[0.8820] = +2.36209;
4010  (*this)[0.8830] = +2.37504;
4011  (*this)[0.8840] = +2.38798;
4012  (*this)[0.8850] = +2.40093;
4013  (*this)[0.8860] = +2.41387;
4014  (*this)[0.8870] = +2.42682;
4015  (*this)[0.8880] = +2.43976;
4016  (*this)[0.8890] = +2.45271;
4017  (*this)[0.8900] = +2.47025;
4018  (*this)[0.8910] = +2.49053;
4019  (*this)[0.8920] = +2.51081;
4020  (*this)[0.8930] = +2.53109;
4021  (*this)[0.8940] = +2.55137;
4022  (*this)[0.8950] = +2.57165;
4023  (*this)[0.8960] = +2.59193;
4024  (*this)[0.8970] = +2.61221;
4025  (*this)[0.8980] = +2.63249;
4026  (*this)[0.8990] = +2.65277;
4027  (*this)[0.9000] = +2.67305;
4028  (*this)[0.9010] = +2.69333;
4029  (*this)[0.9020] = +2.71361;
4030  (*this)[0.9030] = +2.73389;
4031  (*this)[0.9040] = +2.75416;
4032  (*this)[0.9050] = +2.77444;
4033  (*this)[0.9060] = +2.79472;
4034  (*this)[0.9070] = +2.81500;
4035  (*this)[0.9080] = +2.83528;
4036  (*this)[0.9090] = +2.85556;
4037  (*this)[0.9100] = +2.87584;
4038  (*this)[0.9110] = +2.89612;
4039  (*this)[0.9120] = +2.91640;
4040  (*this)[0.9130] = +2.93668;
4041  (*this)[0.9140] = +2.95696;
4042  (*this)[0.9150] = +2.99318;
4043  (*this)[0.9160] = +3.02986;
4044  (*this)[0.9170] = +3.06655;
4045  (*this)[0.9180] = +3.10323;
4046  (*this)[0.9190] = +3.13992;
4047  (*this)[0.9200] = +3.17661;
4048  (*this)[0.9210] = +3.21329;
4049  (*this)[0.9220] = +3.24998;
4050  (*this)[0.9230] = +3.28667;
4051  (*this)[0.9240] = +3.32335;
4052  (*this)[0.9250] = +3.36004;
4053  (*this)[0.9260] = +3.39672;
4054  (*this)[0.9270] = +3.43341;
4055  (*this)[0.9280] = +3.47901;
4056  (*this)[0.9290] = +3.54173;
4057  (*this)[0.9300] = +3.60445;
4058  (*this)[0.9310] = +3.66717;
4059  (*this)[0.9320] = +3.72989;
4060  (*this)[0.9330] = +3.79261;
4061  (*this)[0.9340] = +3.85533;
4062  (*this)[0.9350] = +3.91805;
4063  (*this)[0.9360] = +3.98822;
4064  (*this)[0.9370] = +4.07104;
4065  (*this)[0.9380] = +4.15387;
4066  (*this)[0.9390] = +4.23670;
4067  (*this)[0.9400] = +4.31952;
4068  (*this)[0.9410] = +4.40235;
4069  (*this)[0.9420] = +4.48951;
4070  (*this)[0.9430] = +4.58535;
4071  (*this)[0.9440] = +4.68119;
4072  (*this)[0.9450] = +4.77703;
4073  (*this)[0.9460] = +4.87287;
4074  (*this)[0.9470] = +4.97087;
4075  (*this)[0.9480] = +5.08515;
4076  (*this)[0.9490] = +5.19944;
4077  (*this)[0.9500] = +5.31372;
4078  (*this)[0.9510] = +5.42801;
4079  (*this)[0.9520] = +5.56233;
4080  (*this)[0.9530] = +5.70362;
4081  (*this)[0.9540] = +5.84492;
4082  (*this)[0.9550] = +5.99256;
4083  (*this)[0.9560] = +6.16516;
4084  (*this)[0.9570] = +6.33776;
4085  (*this)[0.9580] = +6.52191;
4086  (*this)[0.9590] = +6.73228;
4087  (*this)[0.9600] = +6.94265;
4088  (*this)[0.9610] = +7.19221;
4089  (*this)[0.9620] = +7.44475;
4090  (*this)[0.9630] = +7.74057;
4091  (*this)[0.9640] = +8.05178;
4092  (*this)[0.9650] = +8.39801;
4093  (*this)[0.9660] = +8.78793;
4094  (*this)[0.9670] = +9.21646;
4095  (*this)[0.9680] = +9.69639;
4096  (*this)[0.9690] = +10.23674;
4097  (*this)[0.9700] = +10.84683;
4098  (*this)[0.9710] = +11.54449;
4099  (*this)[0.9720] = +12.35146;
4100  (*this)[0.9730] = +13.28882;
4101  (*this)[0.9740] = +14.35760;
4102  (*this)[0.9750] = +15.49553;
4103  (*this)[0.9760] = +16.57756;
4104  (*this)[0.9770] = +17.57635;
4105  (*this)[0.9780] = +18.51198;
4106  (*this)[0.9790] = +19.38670;
4107  (*this)[0.9800] = +20.21960;
4108  (*this)[0.9810] = +21.01829;
4109  (*this)[0.9820] = +21.79357;
4110  (*this)[0.9830] = +22.55060;
4111  (*this)[0.9840] = +23.28994;
4112  (*this)[0.9850] = +24.00587;
4113  (*this)[0.9860] = +24.68742;
4114  (*this)[0.9870] = +25.33781;
4115  (*this)[0.9880] = +25.95519;
4116  (*this)[0.9890] = +26.53301;
4117  (*this)[0.9900] = +27.09126;
4118  (*this)[0.9910] = +27.63413;
4119  (*this)[0.9920] = +28.17820;
4120  (*this)[0.9930] = +28.74013;
4121  (*this)[0.9940] = +29.34302;
4122  (*this)[0.9950] = +30.01157;
4123  (*this)[0.9960] = +30.80791;
4124  (*this)[0.9970] = +31.83500;
4125  (*this)[0.9980] = +33.52176;
4126  (*this)[0.9990] = +39.16207;
4127  (*this)[1.0000] = +92.83278;
4128 
4129  compile();
4130  }

Member Function Documentation

◆ getProbability()

double JDETECTOR::JTransitionTimeGenerator_t::getProbability ( const double  t_ns) const
inlineinherited

Get integrated probablity from $-\infty$ to given time.

Parameters
t_nstime [ns]
Returns
probability

Definition at line 37 of file JPMTTransitTimeGenerator.hh.

38  {
39  using namespace std;
40  using namespace JPP;
41 
42  const_iterator p = std::lower_bound(this->begin(),
43  this->end(),
44  t_ns,
45  make_comparator(&value_type::getY, JComparison::lt()));
46 
47  if (p == this->end())
48  return 1.0;
49  else if (p == this->begin())
50  return 0.0;
51  else
52  return p->getX();
53  }
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Definition: JSTDTypes.hh:14

◆ operator()()

template<class JArgument_t , class JResult_t >
result_type JTOOLS::JFunction1D< JArgument_t, JResult_t >::operator() ( const argument_type  x) const
inlineinherited

Function value evaluation.

Parameters
xargument value
Returns
function value

Definition at line 348 of file JFunctional.hh.

349  {
350  return this->evaluate(&x);
351  }
virtual result_type evaluate(const argument_type *pX) const =0
Recursive function value evaluation.

◆ evaluate()

template<class JArgument_t , class JResult_t >
virtual result_type JTOOLS::JFunctional< JArgument_t, JResult_t >::evaluate ( const argument_type pX) const
pure virtualinherited

Recursive function value evaluation.

Parameters
pXpointer to abscissa values
Returns
function value

Implemented in JTOOLS::JSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >, JTOOLS::JSplineMap< JKey_t, JValue_t, JGridMap, JResultType< JValue_t >::result_type, JDistance< JKey_t > >, JTOOLS::JSplineMap< JKey_t, JValue_t, JMap, JResultDerivative< JResultType< JValue_t >::result_type >, JDistance< JKey_t > >, JTOOLS::JSplineMap< JKey_t, JValue_t, JMap, JResultType< JValue_t >::result_type, JDistance< JKey_t > >, JTOOLS::JSplineMap< JKey_t, JValue_t, JGridMap, JResultDerivative< JResultType< JValue_t >::result_type >, JDistance< JKey_t > >, JTOOLS::JSplineFunction< JElement_t, JCollection_t, JResultPDF< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JSplineFunction< JElement_t, JCollection_t, JResultDerivative< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JSplineFunction< JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultHesse< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultDerivative< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultPolynome< M, typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultPDF< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< 1, JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolintFunction< 0, JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolfitFunction< N, M, JElement_t, JCollection_t, JResult_t, JDistance_t >, JTOOLS::JPolfitFunction< N, M, JElement_t, JCollection_t, typename JElement_t::ordinate_type, JDistance< typename JElement_t::abscissa_type > >, JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >, JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, JResultPDF< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, JResultDerivative< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JFunctionObject1D< JArgument_t, JResult_t >, JTOOLS::JExternalFunction1D< JArgument_t, JResult_t >, and JTOOLS::JConstantFunction1D< JArgument_t, JResult_t >.

◆ getValue() [1/2]

template<class JArgument_t , class JResult_t >
static result_type JTOOLS::JFunctional< JArgument_t, JResult_t >::getValue ( const JFunctional< JArgument_t, JResult_t > &  function,
const argument_type pX 
)
inlinestaticinherited

Recursive function value evaluation.

Parameters
functionfunction
pXpointer to abscissa values

Definition at line 107 of file JFunctional.hh.

109  {
110  return function.evaluate(pX);
111  }

◆ getValue() [2/2]

template<class JArgument_t , class JResult_t >
static JClass<result_type>::argument_type JTOOLS::JFunctional< JArgument_t, JResult_t >::getValue ( typename JClass< result_type >::argument_type  value,
const argument_type pX 
)
inlinestaticinherited

Termination of recursive function value evaluation.

Parameters
valueresult
pXpointer to abscissa values

Definition at line 121 of file JFunctional.hh.

123  {
124  return value;
125  }

◆ getSupervisor()

template<class JArgument_t , class JResult_t >
JSupervisor JTOOLS::JFunctional< JArgument_t, JResult_t >::getSupervisor ( ) const
inlineinherited

Get supervisor.

Returns
supervisor

Definition at line 281 of file JFunctional.hh.

282  {
283  return supervisor;
284  }
JSupervisor supervisor
Definition: JFunctional.hh:310

◆ getExceptionHandler()

template<class JArgument_t , class JResult_t >
const JExceptionHandler& JTOOLS::JFunctional< JArgument_t, JResult_t >::getExceptionHandler ( ) const
inlineinherited

Get exception handler.

Returns
exception handler

Definition at line 292 of file JFunctional.hh.

293  {
294  return *supervisor;
295  }

◆ setExceptionHandler()

template<class JArgument_t , class JResult_t >
void JTOOLS::JFunctional< JArgument_t, JResult_t >::setExceptionHandler ( const JSupervisor supervisor)
inlineinherited

Set the supervisor for handling of exceptions.

Parameters
supervisorsupervisor

Definition at line 303 of file JFunctional.hh.

304  {
305  this->supervisor = supervisor;
306  }

Member Data Documentation

◆ supervisor

template<class JArgument_t , class JResult_t >
JSupervisor JTOOLS::JFunctional< JArgument_t, JResult_t >::supervisor
protectedinherited

Definition at line 310 of file JFunctional.hh.


The documentation for this struct was generated from the following file: