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

Implementation to generate PMT transition times based on measurements. More...

#include <JPMTTransitTimeGenerator.hh>

Inheritance diagram for JDETECTOR::JTransitionTimeGenerator41:
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

 JTransitionTimeGenerator41 ()
 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.

Definition at line 2098 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

◆ JTransitionTimeGenerator41()

JDETECTOR::JTransitionTimeGenerator41::JTransitionTimeGenerator41 ( )
inline

Default constructor.

Definition at line 2104 of file JPMTTransitTimeGenerator.hh.

2105  {
2106  // produced by JLegolas.cc
2107  (*this)[0.0000] = -19.53307;
2108  (*this)[0.0010] = -4.98740;
2109  (*this)[0.0020] = -4.52452;
2110  (*this)[0.0030] = -4.34753;
2111  (*this)[0.0040] = -4.17054;
2112  (*this)[0.0050] = -4.01672;
2113  (*this)[0.0060] = -3.94347;
2114  (*this)[0.0070] = -3.87022;
2115  (*this)[0.0080] = -3.79697;
2116  (*this)[0.0090] = -3.72372;
2117  (*this)[0.0100] = -3.65047;
2118  (*this)[0.0110] = -3.57722;
2119  (*this)[0.0120] = -3.51952;
2120  (*this)[0.0130] = -3.48539;
2121  (*this)[0.0140] = -3.45127;
2122  (*this)[0.0150] = -3.41714;
2123  (*this)[0.0160] = -3.38302;
2124  (*this)[0.0170] = -3.34889;
2125  (*this)[0.0180] = -3.31477;
2126  (*this)[0.0190] = -3.28064;
2127  (*this)[0.0200] = -3.24651;
2128  (*this)[0.0210] = -3.21239;
2129  (*this)[0.0220] = -3.17826;
2130  (*this)[0.0230] = -3.14414;
2131  (*this)[0.0240] = -3.11001;
2132  (*this)[0.0250] = -3.07589;
2133  (*this)[0.0260] = -3.04176;
2134  (*this)[0.0270] = -3.01935;
2135  (*this)[0.0280] = -3.00095;
2136  (*this)[0.0290] = -2.98254;
2137  (*this)[0.0300] = -2.96413;
2138  (*this)[0.0310] = -2.94573;
2139  (*this)[0.0320] = -2.92732;
2140  (*this)[0.0330] = -2.90891;
2141  (*this)[0.0340] = -2.89051;
2142  (*this)[0.0350] = -2.87210;
2143  (*this)[0.0360] = -2.85369;
2144  (*this)[0.0370] = -2.83529;
2145  (*this)[0.0380] = -2.81688;
2146  (*this)[0.0390] = -2.79847;
2147  (*this)[0.0400] = -2.78007;
2148  (*this)[0.0410] = -2.76166;
2149  (*this)[0.0420] = -2.74325;
2150  (*this)[0.0430] = -2.72485;
2151  (*this)[0.0440] = -2.70644;
2152  (*this)[0.0450] = -2.68803;
2153  (*this)[0.0460] = -2.66963;
2154  (*this)[0.0470] = -2.65122;
2155  (*this)[0.0480] = -2.63281;
2156  (*this)[0.0490] = -2.61441;
2157  (*this)[0.0500] = -2.59600;
2158  (*this)[0.0510] = -2.57759;
2159  (*this)[0.0520] = -2.55919;
2160  (*this)[0.0530] = -2.54078;
2161  (*this)[0.0540] = -2.52649;
2162  (*this)[0.0550] = -2.51518;
2163  (*this)[0.0560] = -2.50386;
2164  (*this)[0.0570] = -2.49254;
2165  (*this)[0.0580] = -2.48123;
2166  (*this)[0.0590] = -2.46991;
2167  (*this)[0.0600] = -2.45859;
2168  (*this)[0.0610] = -2.44728;
2169  (*this)[0.0620] = -2.43596;
2170  (*this)[0.0630] = -2.42465;
2171  (*this)[0.0640] = -2.41333;
2172  (*this)[0.0650] = -2.40201;
2173  (*this)[0.0660] = -2.39070;
2174  (*this)[0.0670] = -2.37938;
2175  (*this)[0.0680] = -2.36806;
2176  (*this)[0.0690] = -2.35675;
2177  (*this)[0.0700] = -2.34543;
2178  (*this)[0.0710] = -2.33411;
2179  (*this)[0.0720] = -2.32280;
2180  (*this)[0.0730] = -2.31148;
2181  (*this)[0.0740] = -2.30016;
2182  (*this)[0.0750] = -2.28885;
2183  (*this)[0.0760] = -2.27753;
2184  (*this)[0.0770] = -2.26622;
2185  (*this)[0.0780] = -2.25490;
2186  (*this)[0.0790] = -2.24358;
2187  (*this)[0.0800] = -2.23227;
2188  (*this)[0.0810] = -2.22095;
2189  (*this)[0.0820] = -2.20963;
2190  (*this)[0.0830] = -2.19832;
2191  (*this)[0.0840] = -2.18700;
2192  (*this)[0.0850] = -2.17568;
2193  (*this)[0.0860] = -2.16437;
2194  (*this)[0.0870] = -2.15305;
2195  (*this)[0.0880] = -2.14173;
2196  (*this)[0.0890] = -2.13042;
2197  (*this)[0.0900] = -2.11910;
2198  (*this)[0.0910] = -2.10779;
2199  (*this)[0.0920] = -2.09647;
2200  (*this)[0.0930] = -2.08515;
2201  (*this)[0.0940] = -2.07384;
2202  (*this)[0.0950] = -2.06252;
2203  (*this)[0.0960] = -2.05120;
2204  (*this)[0.0970] = -2.03989;
2205  (*this)[0.0980] = -2.02997;
2206  (*this)[0.0990] = -2.02217;
2207  (*this)[0.1000] = -2.01437;
2208  (*this)[0.1010] = -2.00658;
2209  (*this)[0.1020] = -1.99878;
2210  (*this)[0.1030] = -1.99098;
2211  (*this)[0.1040] = -1.98318;
2212  (*this)[0.1050] = -1.97538;
2213  (*this)[0.1060] = -1.96759;
2214  (*this)[0.1070] = -1.95979;
2215  (*this)[0.1080] = -1.95199;
2216  (*this)[0.1090] = -1.94419;
2217  (*this)[0.1100] = -1.93639;
2218  (*this)[0.1110] = -1.92860;
2219  (*this)[0.1120] = -1.92080;
2220  (*this)[0.1130] = -1.91300;
2221  (*this)[0.1140] = -1.90520;
2222  (*this)[0.1150] = -1.89740;
2223  (*this)[0.1160] = -1.88961;
2224  (*this)[0.1170] = -1.88181;
2225  (*this)[0.1180] = -1.87401;
2226  (*this)[0.1190] = -1.86621;
2227  (*this)[0.1200] = -1.85841;
2228  (*this)[0.1210] = -1.85062;
2229  (*this)[0.1220] = -1.84282;
2230  (*this)[0.1230] = -1.83502;
2231  (*this)[0.1240] = -1.82722;
2232  (*this)[0.1250] = -1.81942;
2233  (*this)[0.1260] = -1.81163;
2234  (*this)[0.1270] = -1.80383;
2235  (*this)[0.1280] = -1.79603;
2236  (*this)[0.1290] = -1.78823;
2237  (*this)[0.1300] = -1.78043;
2238  (*this)[0.1310] = -1.77264;
2239  (*this)[0.1320] = -1.76484;
2240  (*this)[0.1330] = -1.75704;
2241  (*this)[0.1340] = -1.74924;
2242  (*this)[0.1350] = -1.74145;
2243  (*this)[0.1360] = -1.73365;
2244  (*this)[0.1370] = -1.72585;
2245  (*this)[0.1380] = -1.71805;
2246  (*this)[0.1390] = -1.71025;
2247  (*this)[0.1400] = -1.70246;
2248  (*this)[0.1410] = -1.69466;
2249  (*this)[0.1420] = -1.68686;
2250  (*this)[0.1430] = -1.67906;
2251  (*this)[0.1440] = -1.67126;
2252  (*this)[0.1450] = -1.66347;
2253  (*this)[0.1460] = -1.65567;
2254  (*this)[0.1470] = -1.64787;
2255  (*this)[0.1480] = -1.64007;
2256  (*this)[0.1490] = -1.63227;
2257  (*this)[0.1500] = -1.62448;
2258  (*this)[0.1510] = -1.61668;
2259  (*this)[0.1520] = -1.60888;
2260  (*this)[0.1530] = -1.60108;
2261  (*this)[0.1540] = -1.59328;
2262  (*this)[0.1550] = -1.58549;
2263  (*this)[0.1560] = -1.57769;
2264  (*this)[0.1570] = -1.56989;
2265  (*this)[0.1580] = -1.56209;
2266  (*this)[0.1590] = -1.55429;
2267  (*this)[0.1600] = -1.54650;
2268  (*this)[0.1610] = -1.53870;
2269  (*this)[0.1620] = -1.53145;
2270  (*this)[0.1630] = -1.52563;
2271  (*this)[0.1640] = -1.51981;
2272  (*this)[0.1650] = -1.51399;
2273  (*this)[0.1660] = -1.50817;
2274  (*this)[0.1670] = -1.50235;
2275  (*this)[0.1680] = -1.49653;
2276  (*this)[0.1690] = -1.49071;
2277  (*this)[0.1700] = -1.48489;
2278  (*this)[0.1710] = -1.47907;
2279  (*this)[0.1720] = -1.47325;
2280  (*this)[0.1730] = -1.46743;
2281  (*this)[0.1740] = -1.46162;
2282  (*this)[0.1750] = -1.45580;
2283  (*this)[0.1760] = -1.44998;
2284  (*this)[0.1770] = -1.44416;
2285  (*this)[0.1780] = -1.43834;
2286  (*this)[0.1790] = -1.43252;
2287  (*this)[0.1800] = -1.42670;
2288  (*this)[0.1810] = -1.42088;
2289  (*this)[0.1820] = -1.41506;
2290  (*this)[0.1830] = -1.40924;
2291  (*this)[0.1840] = -1.40342;
2292  (*this)[0.1850] = -1.39760;
2293  (*this)[0.1860] = -1.39178;
2294  (*this)[0.1870] = -1.38596;
2295  (*this)[0.1880] = -1.38014;
2296  (*this)[0.1890] = -1.37432;
2297  (*this)[0.1900] = -1.36850;
2298  (*this)[0.1910] = -1.36268;
2299  (*this)[0.1920] = -1.35686;
2300  (*this)[0.1930] = -1.35104;
2301  (*this)[0.1940] = -1.34522;
2302  (*this)[0.1950] = -1.33940;
2303  (*this)[0.1960] = -1.33358;
2304  (*this)[0.1970] = -1.32776;
2305  (*this)[0.1980] = -1.32194;
2306  (*this)[0.1990] = -1.31612;
2307  (*this)[0.2000] = -1.31030;
2308  (*this)[0.2010] = -1.30448;
2309  (*this)[0.2020] = -1.29866;
2310  (*this)[0.2030] = -1.29285;
2311  (*this)[0.2040] = -1.28703;
2312  (*this)[0.2050] = -1.28121;
2313  (*this)[0.2060] = -1.27539;
2314  (*this)[0.2070] = -1.26957;
2315  (*this)[0.2080] = -1.26375;
2316  (*this)[0.2090] = -1.25793;
2317  (*this)[0.2100] = -1.25211;
2318  (*this)[0.2110] = -1.24629;
2319  (*this)[0.2120] = -1.24047;
2320  (*this)[0.2130] = -1.23465;
2321  (*this)[0.2140] = -1.22883;
2322  (*this)[0.2150] = -1.22301;
2323  (*this)[0.2160] = -1.21719;
2324  (*this)[0.2170] = -1.21137;
2325  (*this)[0.2180] = -1.20555;
2326  (*this)[0.2190] = -1.19973;
2327  (*this)[0.2200] = -1.19391;
2328  (*this)[0.2210] = -1.18809;
2329  (*this)[0.2220] = -1.18227;
2330  (*this)[0.2230] = -1.17645;
2331  (*this)[0.2240] = -1.17063;
2332  (*this)[0.2250] = -1.16481;
2333  (*this)[0.2260] = -1.15899;
2334  (*this)[0.2270] = -1.15317;
2335  (*this)[0.2280] = -1.14735;
2336  (*this)[0.2290] = -1.14153;
2337  (*this)[0.2300] = -1.13571;
2338  (*this)[0.2310] = -1.12989;
2339  (*this)[0.2320] = -1.12408;
2340  (*this)[0.2330] = -1.11826;
2341  (*this)[0.2340] = -1.11244;
2342  (*this)[0.2350] = -1.10662;
2343  (*this)[0.2360] = -1.10080;
2344  (*this)[0.2370] = -1.09498;
2345  (*this)[0.2380] = -1.08916;
2346  (*this)[0.2390] = -1.08334;
2347  (*this)[0.2400] = -1.07752;
2348  (*this)[0.2410] = -1.07170;
2349  (*this)[0.2420] = -1.06588;
2350  (*this)[0.2430] = -1.06006;
2351  (*this)[0.2440] = -1.05424;
2352  (*this)[0.2450] = -1.04842;
2353  (*this)[0.2460] = -1.04260;
2354  (*this)[0.2470] = -1.03678;
2355  (*this)[0.2480] = -1.03134;
2356  (*this)[0.2490] = -1.02659;
2357  (*this)[0.2500] = -1.02183;
2358  (*this)[0.2510] = -1.01707;
2359  (*this)[0.2520] = -1.01231;
2360  (*this)[0.2530] = -1.00755;
2361  (*this)[0.2540] = -1.00279;
2362  (*this)[0.2550] = -0.99803;
2363  (*this)[0.2560] = -0.99327;
2364  (*this)[0.2570] = -0.98851;
2365  (*this)[0.2580] = -0.98375;
2366  (*this)[0.2590] = -0.97899;
2367  (*this)[0.2600] = -0.97423;
2368  (*this)[0.2610] = -0.96947;
2369  (*this)[0.2620] = -0.96471;
2370  (*this)[0.2630] = -0.95995;
2371  (*this)[0.2640] = -0.95520;
2372  (*this)[0.2650] = -0.95044;
2373  (*this)[0.2660] = -0.94568;
2374  (*this)[0.2670] = -0.94092;
2375  (*this)[0.2680] = -0.93616;
2376  (*this)[0.2690] = -0.93140;
2377  (*this)[0.2700] = -0.92664;
2378  (*this)[0.2710] = -0.92188;
2379  (*this)[0.2720] = -0.91712;
2380  (*this)[0.2730] = -0.91236;
2381  (*this)[0.2740] = -0.90760;
2382  (*this)[0.2750] = -0.90284;
2383  (*this)[0.2760] = -0.89808;
2384  (*this)[0.2770] = -0.89332;
2385  (*this)[0.2780] = -0.88856;
2386  (*this)[0.2790] = -0.88381;
2387  (*this)[0.2800] = -0.87905;
2388  (*this)[0.2810] = -0.87429;
2389  (*this)[0.2820] = -0.86953;
2390  (*this)[0.2830] = -0.86477;
2391  (*this)[0.2840] = -0.86001;
2392  (*this)[0.2850] = -0.85525;
2393  (*this)[0.2860] = -0.85049;
2394  (*this)[0.2870] = -0.84573;
2395  (*this)[0.2880] = -0.84097;
2396  (*this)[0.2890] = -0.83621;
2397  (*this)[0.2900] = -0.83145;
2398  (*this)[0.2910] = -0.82669;
2399  (*this)[0.2920] = -0.82193;
2400  (*this)[0.2930] = -0.81717;
2401  (*this)[0.2940] = -0.81242;
2402  (*this)[0.2950] = -0.80766;
2403  (*this)[0.2960] = -0.80290;
2404  (*this)[0.2970] = -0.79814;
2405  (*this)[0.2980] = -0.79338;
2406  (*this)[0.2990] = -0.78862;
2407  (*this)[0.3000] = -0.78386;
2408  (*this)[0.3010] = -0.77910;
2409  (*this)[0.3020] = -0.77434;
2410  (*this)[0.3030] = -0.76958;
2411  (*this)[0.3040] = -0.76482;
2412  (*this)[0.3050] = -0.76006;
2413  (*this)[0.3060] = -0.75530;
2414  (*this)[0.3070] = -0.75054;
2415  (*this)[0.3080] = -0.74578;
2416  (*this)[0.3090] = -0.74103;
2417  (*this)[0.3100] = -0.73627;
2418  (*this)[0.3110] = -0.73151;
2419  (*this)[0.3120] = -0.72675;
2420  (*this)[0.3130] = -0.72199;
2421  (*this)[0.3140] = -0.71723;
2422  (*this)[0.3150] = -0.71247;
2423  (*this)[0.3160] = -0.70771;
2424  (*this)[0.3170] = -0.70295;
2425  (*this)[0.3180] = -0.69819;
2426  (*this)[0.3190] = -0.69343;
2427  (*this)[0.3200] = -0.68867;
2428  (*this)[0.3210] = -0.68391;
2429  (*this)[0.3220] = -0.67915;
2430  (*this)[0.3230] = -0.67439;
2431  (*this)[0.3240] = -0.66964;
2432  (*this)[0.3250] = -0.66488;
2433  (*this)[0.3260] = -0.66012;
2434  (*this)[0.3270] = -0.65536;
2435  (*this)[0.3280] = -0.65060;
2436  (*this)[0.3290] = -0.64584;
2437  (*this)[0.3300] = -0.64108;
2438  (*this)[0.3310] = -0.63632;
2439  (*this)[0.3320] = -0.63156;
2440  (*this)[0.3330] = -0.62680;
2441  (*this)[0.3340] = -0.62204;
2442  (*this)[0.3350] = -0.61728;
2443  (*this)[0.3360] = -0.61252;
2444  (*this)[0.3370] = -0.60776;
2445  (*this)[0.3380] = -0.60300;
2446  (*this)[0.3390] = -0.59825;
2447  (*this)[0.3400] = -0.59349;
2448  (*this)[0.3410] = -0.58873;
2449  (*this)[0.3420] = -0.58397;
2450  (*this)[0.3430] = -0.57921;
2451  (*this)[0.3440] = -0.57445;
2452  (*this)[0.3450] = -0.56969;
2453  (*this)[0.3460] = -0.56493;
2454  (*this)[0.3470] = -0.56017;
2455  (*this)[0.3480] = -0.55541;
2456  (*this)[0.3490] = -0.55065;
2457  (*this)[0.3500] = -0.54589;
2458  (*this)[0.3510] = -0.54113;
2459  (*this)[0.3520] = -0.53637;
2460  (*this)[0.3530] = -0.53174;
2461  (*this)[0.3540] = -0.52741;
2462  (*this)[0.3550] = -0.52307;
2463  (*this)[0.3560] = -0.51873;
2464  (*this)[0.3570] = -0.51439;
2465  (*this)[0.3580] = -0.51005;
2466  (*this)[0.3590] = -0.50572;
2467  (*this)[0.3600] = -0.50138;
2468  (*this)[0.3610] = -0.49704;
2469  (*this)[0.3620] = -0.49270;
2470  (*this)[0.3630] = -0.48837;
2471  (*this)[0.3640] = -0.48403;
2472  (*this)[0.3650] = -0.47969;
2473  (*this)[0.3660] = -0.47535;
2474  (*this)[0.3670] = -0.47102;
2475  (*this)[0.3680] = -0.46668;
2476  (*this)[0.3690] = -0.46234;
2477  (*this)[0.3700] = -0.45800;
2478  (*this)[0.3710] = -0.45366;
2479  (*this)[0.3720] = -0.44933;
2480  (*this)[0.3730] = -0.44499;
2481  (*this)[0.3740] = -0.44065;
2482  (*this)[0.3750] = -0.43631;
2483  (*this)[0.3760] = -0.43198;
2484  (*this)[0.3770] = -0.42764;
2485  (*this)[0.3780] = -0.42330;
2486  (*this)[0.3790] = -0.41896;
2487  (*this)[0.3800] = -0.41462;
2488  (*this)[0.3810] = -0.41029;
2489  (*this)[0.3820] = -0.40595;
2490  (*this)[0.3830] = -0.40161;
2491  (*this)[0.3840] = -0.39727;
2492  (*this)[0.3850] = -0.39294;
2493  (*this)[0.3860] = -0.38860;
2494  (*this)[0.3870] = -0.38426;
2495  (*this)[0.3880] = -0.37992;
2496  (*this)[0.3890] = -0.37558;
2497  (*this)[0.3900] = -0.37125;
2498  (*this)[0.3910] = -0.36691;
2499  (*this)[0.3920] = -0.36257;
2500  (*this)[0.3930] = -0.35823;
2501  (*this)[0.3940] = -0.35390;
2502  (*this)[0.3950] = -0.34956;
2503  (*this)[0.3960] = -0.34522;
2504  (*this)[0.3970] = -0.34088;
2505  (*this)[0.3980] = -0.33655;
2506  (*this)[0.3990] = -0.33221;
2507  (*this)[0.4000] = -0.32787;
2508  (*this)[0.4010] = -0.32353;
2509  (*this)[0.4020] = -0.31919;
2510  (*this)[0.4030] = -0.31486;
2511  (*this)[0.4040] = -0.31052;
2512  (*this)[0.4050] = -0.30618;
2513  (*this)[0.4060] = -0.30184;
2514  (*this)[0.4070] = -0.29751;
2515  (*this)[0.4080] = -0.29317;
2516  (*this)[0.4090] = -0.28883;
2517  (*this)[0.4100] = -0.28449;
2518  (*this)[0.4110] = -0.28015;
2519  (*this)[0.4120] = -0.27582;
2520  (*this)[0.4130] = -0.27148;
2521  (*this)[0.4140] = -0.26714;
2522  (*this)[0.4150] = -0.26280;
2523  (*this)[0.4160] = -0.25847;
2524  (*this)[0.4170] = -0.25413;
2525  (*this)[0.4180] = -0.24979;
2526  (*this)[0.4190] = -0.24545;
2527  (*this)[0.4200] = -0.24112;
2528  (*this)[0.4210] = -0.23678;
2529  (*this)[0.4220] = -0.23244;
2530  (*this)[0.4230] = -0.22810;
2531  (*this)[0.4240] = -0.22376;
2532  (*this)[0.4250] = -0.21943;
2533  (*this)[0.4260] = -0.21509;
2534  (*this)[0.4270] = -0.21075;
2535  (*this)[0.4280] = -0.20641;
2536  (*this)[0.4290] = -0.20208;
2537  (*this)[0.4300] = -0.19774;
2538  (*this)[0.4310] = -0.19340;
2539  (*this)[0.4320] = -0.18906;
2540  (*this)[0.4330] = -0.18472;
2541  (*this)[0.4340] = -0.18039;
2542  (*this)[0.4350] = -0.17605;
2543  (*this)[0.4360] = -0.17171;
2544  (*this)[0.4370] = -0.16737;
2545  (*this)[0.4380] = -0.16304;
2546  (*this)[0.4390] = -0.15870;
2547  (*this)[0.4400] = -0.15436;
2548  (*this)[0.4410] = -0.15002;
2549  (*this)[0.4420] = -0.14568;
2550  (*this)[0.4430] = -0.14135;
2551  (*this)[0.4440] = -0.13701;
2552  (*this)[0.4450] = -0.13267;
2553  (*this)[0.4460] = -0.12833;
2554  (*this)[0.4470] = -0.12400;
2555  (*this)[0.4480] = -0.11966;
2556  (*this)[0.4490] = -0.11532;
2557  (*this)[0.4500] = -0.11098;
2558  (*this)[0.4510] = -0.10665;
2559  (*this)[0.4520] = -0.10231;
2560  (*this)[0.4530] = -0.09797;
2561  (*this)[0.4540] = -0.09363;
2562  (*this)[0.4550] = -0.08929;
2563  (*this)[0.4560] = -0.08496;
2564  (*this)[0.4570] = -0.08062;
2565  (*this)[0.4580] = -0.07628;
2566  (*this)[0.4590] = -0.07194;
2567  (*this)[0.4600] = -0.06761;
2568  (*this)[0.4610] = -0.06327;
2569  (*this)[0.4620] = -0.05893;
2570  (*this)[0.4630] = -0.05459;
2571  (*this)[0.4640] = -0.05025;
2572  (*this)[0.4650] = -0.04592;
2573  (*this)[0.4660] = -0.04158;
2574  (*this)[0.4670] = -0.03724;
2575  (*this)[0.4680] = -0.03290;
2576  (*this)[0.4690] = -0.02847;
2577  (*this)[0.4700] = -0.02404;
2578  (*this)[0.4710] = -0.01961;
2579  (*this)[0.4720] = -0.01519;
2580  (*this)[0.4730] = -0.01076;
2581  (*this)[0.4740] = -0.00633;
2582  (*this)[0.4750] = -0.00190;
2583  (*this)[0.4760] = +0.00253;
2584  (*this)[0.4770] = +0.00696;
2585  (*this)[0.4780] = +0.01139;
2586  (*this)[0.4790] = +0.01581;
2587  (*this)[0.4800] = +0.02024;
2588  (*this)[0.4810] = +0.02467;
2589  (*this)[0.4820] = +0.02910;
2590  (*this)[0.4830] = +0.03353;
2591  (*this)[0.4840] = +0.03796;
2592  (*this)[0.4850] = +0.04239;
2593  (*this)[0.4860] = +0.04681;
2594  (*this)[0.4870] = +0.05124;
2595  (*this)[0.4880] = +0.05567;
2596  (*this)[0.4890] = +0.06010;
2597  (*this)[0.4900] = +0.06453;
2598  (*this)[0.4910] = +0.06896;
2599  (*this)[0.4920] = +0.07339;
2600  (*this)[0.4930] = +0.07781;
2601  (*this)[0.4940] = +0.08224;
2602  (*this)[0.4950] = +0.08667;
2603  (*this)[0.4960] = +0.09110;
2604  (*this)[0.4970] = +0.09553;
2605  (*this)[0.4980] = +0.09996;
2606  (*this)[0.4990] = +0.10439;
2607  (*this)[0.5000] = +0.10881;
2608  (*this)[0.5010] = +0.11324;
2609  (*this)[0.5020] = +0.11767;
2610  (*this)[0.5030] = +0.12210;
2611  (*this)[0.5040] = +0.12653;
2612  (*this)[0.5050] = +0.13096;
2613  (*this)[0.5060] = +0.13539;
2614  (*this)[0.5070] = +0.13981;
2615  (*this)[0.5080] = +0.14424;
2616  (*this)[0.5090] = +0.14867;
2617  (*this)[0.5100] = +0.15310;
2618  (*this)[0.5110] = +0.15753;
2619  (*this)[0.5120] = +0.16196;
2620  (*this)[0.5130] = +0.16639;
2621  (*this)[0.5140] = +0.17081;
2622  (*this)[0.5150] = +0.17524;
2623  (*this)[0.5160] = +0.17967;
2624  (*this)[0.5170] = +0.18410;
2625  (*this)[0.5180] = +0.18853;
2626  (*this)[0.5190] = +0.19296;
2627  (*this)[0.5200] = +0.19739;
2628  (*this)[0.5210] = +0.20181;
2629  (*this)[0.5220] = +0.20624;
2630  (*this)[0.5230] = +0.21067;
2631  (*this)[0.5240] = +0.21510;
2632  (*this)[0.5250] = +0.21953;
2633  (*this)[0.5260] = +0.22396;
2634  (*this)[0.5270] = +0.22839;
2635  (*this)[0.5280] = +0.23281;
2636  (*this)[0.5290] = +0.23724;
2637  (*this)[0.5300] = +0.24167;
2638  (*this)[0.5310] = +0.24610;
2639  (*this)[0.5320] = +0.25053;
2640  (*this)[0.5330] = +0.25496;
2641  (*this)[0.5340] = +0.25939;
2642  (*this)[0.5350] = +0.26381;
2643  (*this)[0.5360] = +0.26824;
2644  (*this)[0.5370] = +0.27267;
2645  (*this)[0.5380] = +0.27710;
2646  (*this)[0.5390] = +0.28153;
2647  (*this)[0.5400] = +0.28596;
2648  (*this)[0.5410] = +0.29039;
2649  (*this)[0.5420] = +0.29481;
2650  (*this)[0.5430] = +0.29924;
2651  (*this)[0.5440] = +0.30367;
2652  (*this)[0.5450] = +0.30810;
2653  (*this)[0.5460] = +0.31253;
2654  (*this)[0.5470] = +0.31696;
2655  (*this)[0.5480] = +0.32139;
2656  (*this)[0.5490] = +0.32581;
2657  (*this)[0.5500] = +0.33024;
2658  (*this)[0.5510] = +0.33467;
2659  (*this)[0.5520] = +0.33910;
2660  (*this)[0.5530] = +0.34353;
2661  (*this)[0.5540] = +0.34796;
2662  (*this)[0.5550] = +0.35239;
2663  (*this)[0.5560] = +0.35681;
2664  (*this)[0.5570] = +0.36124;
2665  (*this)[0.5580] = +0.36567;
2666  (*this)[0.5590] = +0.37010;
2667  (*this)[0.5600] = +0.37453;
2668  (*this)[0.5610] = +0.37896;
2669  (*this)[0.5620] = +0.38339;
2670  (*this)[0.5630] = +0.38781;
2671  (*this)[0.5640] = +0.39224;
2672  (*this)[0.5650] = +0.39667;
2673  (*this)[0.5660] = +0.40110;
2674  (*this)[0.5670] = +0.40553;
2675  (*this)[0.5680] = +0.40996;
2676  (*this)[0.5690] = +0.41439;
2677  (*this)[0.5700] = +0.41881;
2678  (*this)[0.5710] = +0.42324;
2679  (*this)[0.5720] = +0.42767;
2680  (*this)[0.5730] = +0.43210;
2681  (*this)[0.5740] = +0.43653;
2682  (*this)[0.5750] = +0.44096;
2683  (*this)[0.5760] = +0.44539;
2684  (*this)[0.5770] = +0.44981;
2685  (*this)[0.5780] = +0.45424;
2686  (*this)[0.5790] = +0.45867;
2687  (*this)[0.5800] = +0.46310;
2688  (*this)[0.5810] = +0.46761;
2689  (*this)[0.5820] = +0.47267;
2690  (*this)[0.5830] = +0.47772;
2691  (*this)[0.5840] = +0.48278;
2692  (*this)[0.5850] = +0.48783;
2693  (*this)[0.5860] = +0.49289;
2694  (*this)[0.5870] = +0.49794;
2695  (*this)[0.5880] = +0.50300;
2696  (*this)[0.5890] = +0.50805;
2697  (*this)[0.5900] = +0.51310;
2698  (*this)[0.5910] = +0.51816;
2699  (*this)[0.5920] = +0.52321;
2700  (*this)[0.5930] = +0.52827;
2701  (*this)[0.5940] = +0.53332;
2702  (*this)[0.5950] = +0.53838;
2703  (*this)[0.5960] = +0.54343;
2704  (*this)[0.5970] = +0.54849;
2705  (*this)[0.5980] = +0.55354;
2706  (*this)[0.5990] = +0.55860;
2707  (*this)[0.6000] = +0.56365;
2708  (*this)[0.6010] = +0.56871;
2709  (*this)[0.6020] = +0.57376;
2710  (*this)[0.6030] = +0.57882;
2711  (*this)[0.6040] = +0.58387;
2712  (*this)[0.6050] = +0.58892;
2713  (*this)[0.6060] = +0.59398;
2714  (*this)[0.6070] = +0.59903;
2715  (*this)[0.6080] = +0.60409;
2716  (*this)[0.6090] = +0.60914;
2717  (*this)[0.6100] = +0.61420;
2718  (*this)[0.6110] = +0.61925;
2719  (*this)[0.6120] = +0.62431;
2720  (*this)[0.6130] = +0.62936;
2721  (*this)[0.6140] = +0.63442;
2722  (*this)[0.6150] = +0.63947;
2723  (*this)[0.6160] = +0.64453;
2724  (*this)[0.6170] = +0.64958;
2725  (*this)[0.6180] = +0.65464;
2726  (*this)[0.6190] = +0.65969;
2727  (*this)[0.6200] = +0.66474;
2728  (*this)[0.6210] = +0.66980;
2729  (*this)[0.6220] = +0.67485;
2730  (*this)[0.6230] = +0.67991;
2731  (*this)[0.6240] = +0.68496;
2732  (*this)[0.6250] = +0.69002;
2733  (*this)[0.6260] = +0.69507;
2734  (*this)[0.6270] = +0.70013;
2735  (*this)[0.6280] = +0.70518;
2736  (*this)[0.6290] = +0.71024;
2737  (*this)[0.6300] = +0.71529;
2738  (*this)[0.6310] = +0.72035;
2739  (*this)[0.6320] = +0.72540;
2740  (*this)[0.6330] = +0.73046;
2741  (*this)[0.6340] = +0.73551;
2742  (*this)[0.6350] = +0.74056;
2743  (*this)[0.6360] = +0.74562;
2744  (*this)[0.6370] = +0.75067;
2745  (*this)[0.6380] = +0.75573;
2746  (*this)[0.6390] = +0.76078;
2747  (*this)[0.6400] = +0.76584;
2748  (*this)[0.6410] = +0.77089;
2749  (*this)[0.6420] = +0.77595;
2750  (*this)[0.6430] = +0.78100;
2751  (*this)[0.6440] = +0.78606;
2752  (*this)[0.6450] = +0.79111;
2753  (*this)[0.6460] = +0.79617;
2754  (*this)[0.6470] = +0.80122;
2755  (*this)[0.6480] = +0.80628;
2756  (*this)[0.6490] = +0.81133;
2757  (*this)[0.6500] = +0.81638;
2758  (*this)[0.6510] = +0.82144;
2759  (*this)[0.6520] = +0.82649;
2760  (*this)[0.6530] = +0.83155;
2761  (*this)[0.6540] = +0.83660;
2762  (*this)[0.6550] = +0.84166;
2763  (*this)[0.6560] = +0.84671;
2764  (*this)[0.6570] = +0.85177;
2765  (*this)[0.6580] = +0.85682;
2766  (*this)[0.6590] = +0.86188;
2767  (*this)[0.6600] = +0.86693;
2768  (*this)[0.6610] = +0.87199;
2769  (*this)[0.6620] = +0.87704;
2770  (*this)[0.6630] = +0.88210;
2771  (*this)[0.6640] = +0.88715;
2772  (*this)[0.6650] = +0.89220;
2773  (*this)[0.6660] = +0.89726;
2774  (*this)[0.6670] = +0.90231;
2775  (*this)[0.6680] = +0.90737;
2776  (*this)[0.6690] = +0.91242;
2777  (*this)[0.6700] = +0.91748;
2778  (*this)[0.6710] = +0.92253;
2779  (*this)[0.6720] = +0.92759;
2780  (*this)[0.6730] = +0.93264;
2781  (*this)[0.6740] = +0.93770;
2782  (*this)[0.6750] = +0.94275;
2783  (*this)[0.6760] = +0.94781;
2784  (*this)[0.6770] = +0.95286;
2785  (*this)[0.6780] = +0.95792;
2786  (*this)[0.6790] = +0.96297;
2787  (*this)[0.6800] = +0.96831;
2788  (*this)[0.6810] = +0.97469;
2789  (*this)[0.6820] = +0.98107;
2790  (*this)[0.6830] = +0.98744;
2791  (*this)[0.6840] = +0.99382;
2792  (*this)[0.6850] = +1.00020;
2793  (*this)[0.6860] = +1.00658;
2794  (*this)[0.6870] = +1.01295;
2795  (*this)[0.6880] = +1.01933;
2796  (*this)[0.6890] = +1.02571;
2797  (*this)[0.6900] = +1.03209;
2798  (*this)[0.6910] = +1.03846;
2799  (*this)[0.6920] = +1.04484;
2800  (*this)[0.6930] = +1.05122;
2801  (*this)[0.6940] = +1.05759;
2802  (*this)[0.6950] = +1.06397;
2803  (*this)[0.6960] = +1.07035;
2804  (*this)[0.6970] = +1.07673;
2805  (*this)[0.6980] = +1.08310;
2806  (*this)[0.6990] = +1.08948;
2807  (*this)[0.7000] = +1.09586;
2808  (*this)[0.7010] = +1.10224;
2809  (*this)[0.7020] = +1.10861;
2810  (*this)[0.7030] = +1.11499;
2811  (*this)[0.7040] = +1.12137;
2812  (*this)[0.7050] = +1.12775;
2813  (*this)[0.7060] = +1.13412;
2814  (*this)[0.7070] = +1.14050;
2815  (*this)[0.7080] = +1.14688;
2816  (*this)[0.7090] = +1.15326;
2817  (*this)[0.7100] = +1.15963;
2818  (*this)[0.7110] = +1.16601;
2819  (*this)[0.7120] = +1.17239;
2820  (*this)[0.7130] = +1.17877;
2821  (*this)[0.7140] = +1.18514;
2822  (*this)[0.7150] = +1.19152;
2823  (*this)[0.7160] = +1.19790;
2824  (*this)[0.7170] = +1.20427;
2825  (*this)[0.7180] = +1.21065;
2826  (*this)[0.7190] = +1.21703;
2827  (*this)[0.7200] = +1.22341;
2828  (*this)[0.7210] = +1.22978;
2829  (*this)[0.7220] = +1.23616;
2830  (*this)[0.7230] = +1.24254;
2831  (*this)[0.7240] = +1.24892;
2832  (*this)[0.7250] = +1.25529;
2833  (*this)[0.7260] = +1.26167;
2834  (*this)[0.7270] = +1.26805;
2835  (*this)[0.7280] = +1.27443;
2836  (*this)[0.7290] = +1.28080;
2837  (*this)[0.7300] = +1.28718;
2838  (*this)[0.7310] = +1.29356;
2839  (*this)[0.7320] = +1.29994;
2840  (*this)[0.7330] = +1.30631;
2841  (*this)[0.7340] = +1.31269;
2842  (*this)[0.7350] = +1.31907;
2843  (*this)[0.7360] = +1.32545;
2844  (*this)[0.7370] = +1.33182;
2845  (*this)[0.7380] = +1.33820;
2846  (*this)[0.7390] = +1.34458;
2847  (*this)[0.7400] = +1.35095;
2848  (*this)[0.7410] = +1.35733;
2849  (*this)[0.7420] = +1.36371;
2850  (*this)[0.7430] = +1.37009;
2851  (*this)[0.7440] = +1.37646;
2852  (*this)[0.7450] = +1.38284;
2853  (*this)[0.7460] = +1.38922;
2854  (*this)[0.7470] = +1.39560;
2855  (*this)[0.7480] = +1.40197;
2856  (*this)[0.7490] = +1.40835;
2857  (*this)[0.7500] = +1.41473;
2858  (*this)[0.7510] = +1.42111;
2859  (*this)[0.7520] = +1.42748;
2860  (*this)[0.7530] = +1.43386;
2861  (*this)[0.7540] = +1.44024;
2862  (*this)[0.7550] = +1.44662;
2863  (*this)[0.7560] = +1.45299;
2864  (*this)[0.7570] = +1.45937;
2865  (*this)[0.7580] = +1.46575;
2866  (*this)[0.7590] = +1.47396;
2867  (*this)[0.7600] = +1.48260;
2868  (*this)[0.7610] = +1.49124;
2869  (*this)[0.7620] = +1.49987;
2870  (*this)[0.7630] = +1.50851;
2871  (*this)[0.7640] = +1.51714;
2872  (*this)[0.7650] = +1.52578;
2873  (*this)[0.7660] = +1.53441;
2874  (*this)[0.7670] = +1.54305;
2875  (*this)[0.7680] = +1.55168;
2876  (*this)[0.7690] = +1.56032;
2877  (*this)[0.7700] = +1.56895;
2878  (*this)[0.7710] = +1.57759;
2879  (*this)[0.7720] = +1.58622;
2880  (*this)[0.7730] = +1.59486;
2881  (*this)[0.7740] = +1.60350;
2882  (*this)[0.7750] = +1.61213;
2883  (*this)[0.7760] = +1.62077;
2884  (*this)[0.7770] = +1.62940;
2885  (*this)[0.7780] = +1.63804;
2886  (*this)[0.7790] = +1.64667;
2887  (*this)[0.7800] = +1.65531;
2888  (*this)[0.7810] = +1.66394;
2889  (*this)[0.7820] = +1.67258;
2890  (*this)[0.7830] = +1.68121;
2891  (*this)[0.7840] = +1.68985;
2892  (*this)[0.7850] = +1.69848;
2893  (*this)[0.7860] = +1.70712;
2894  (*this)[0.7870] = +1.71576;
2895  (*this)[0.7880] = +1.72439;
2896  (*this)[0.7890] = +1.73303;
2897  (*this)[0.7900] = +1.74166;
2898  (*this)[0.7910] = +1.75030;
2899  (*this)[0.7920] = +1.75893;
2900  (*this)[0.7930] = +1.76757;
2901  (*this)[0.7940] = +1.77620;
2902  (*this)[0.7950] = +1.78484;
2903  (*this)[0.7960] = +1.79347;
2904  (*this)[0.7970] = +1.80211;
2905  (*this)[0.7980] = +1.81074;
2906  (*this)[0.7990] = +1.81938;
2907  (*this)[0.8000] = +1.82802;
2908  (*this)[0.8010] = +1.83665;
2909  (*this)[0.8020] = +1.84529;
2910  (*this)[0.8030] = +1.85392;
2911  (*this)[0.8040] = +1.86256;
2912  (*this)[0.8050] = +1.87119;
2913  (*this)[0.8060] = +1.87983;
2914  (*this)[0.8070] = +1.88846;
2915  (*this)[0.8080] = +1.89710;
2916  (*this)[0.8090] = +1.90573;
2917  (*this)[0.8100] = +1.91437;
2918  (*this)[0.8110] = +1.92300;
2919  (*this)[0.8120] = +1.93164;
2920  (*this)[0.8130] = +1.94028;
2921  (*this)[0.8140] = +1.94891;
2922  (*this)[0.8150] = +1.95755;
2923  (*this)[0.8160] = +1.96618;
2924  (*this)[0.8170] = +1.97809;
2925  (*this)[0.8180] = +1.99031;
2926  (*this)[0.8190] = +2.00253;
2927  (*this)[0.8200] = +2.01476;
2928  (*this)[0.8210] = +2.02698;
2929  (*this)[0.8220] = +2.03920;
2930  (*this)[0.8230] = +2.05142;
2931  (*this)[0.8240] = +2.06364;
2932  (*this)[0.8250] = +2.07586;
2933  (*this)[0.8260] = +2.08808;
2934  (*this)[0.8270] = +2.10030;
2935  (*this)[0.8280] = +2.11252;
2936  (*this)[0.8290] = +2.12474;
2937  (*this)[0.8300] = +2.13697;
2938  (*this)[0.8310] = +2.14919;
2939  (*this)[0.8320] = +2.16141;
2940  (*this)[0.8330] = +2.17363;
2941  (*this)[0.8340] = +2.18585;
2942  (*this)[0.8350] = +2.19807;
2943  (*this)[0.8360] = +2.21029;
2944  (*this)[0.8370] = +2.22251;
2945  (*this)[0.8380] = +2.23473;
2946  (*this)[0.8390] = +2.24695;
2947  (*this)[0.8400] = +2.25918;
2948  (*this)[0.8410] = +2.27140;
2949  (*this)[0.8420] = +2.28362;
2950  (*this)[0.8430] = +2.29584;
2951  (*this)[0.8440] = +2.30806;
2952  (*this)[0.8450] = +2.32028;
2953  (*this)[0.8460] = +2.33250;
2954  (*this)[0.8470] = +2.34472;
2955  (*this)[0.8480] = +2.35694;
2956  (*this)[0.8490] = +2.36916;
2957  (*this)[0.8500] = +2.38139;
2958  (*this)[0.8510] = +2.39361;
2959  (*this)[0.8520] = +2.40583;
2960  (*this)[0.8530] = +2.41805;
2961  (*this)[0.8540] = +2.43027;
2962  (*this)[0.8550] = +2.44249;
2963  (*this)[0.8560] = +2.45471;
2964  (*this)[0.8570] = +2.46693;
2965  (*this)[0.8580] = +2.48441;
2966  (*this)[0.8590] = +2.50188;
2967  (*this)[0.8600] = +2.51936;
2968  (*this)[0.8610] = +2.53684;
2969  (*this)[0.8620] = +2.55431;
2970  (*this)[0.8630] = +2.57179;
2971  (*this)[0.8640] = +2.58926;
2972  (*this)[0.8650] = +2.60674;
2973  (*this)[0.8660] = +2.62421;
2974  (*this)[0.8670] = +2.64169;
2975  (*this)[0.8680] = +2.65916;
2976  (*this)[0.8690] = +2.67664;
2977  (*this)[0.8700] = +2.69412;
2978  (*this)[0.8710] = +2.71159;
2979  (*this)[0.8720] = +2.72907;
2980  (*this)[0.8730] = +2.74654;
2981  (*this)[0.8740] = +2.76402;
2982  (*this)[0.8750] = +2.78149;
2983  (*this)[0.8760] = +2.79897;
2984  (*this)[0.8770] = +2.81644;
2985  (*this)[0.8780] = +2.83392;
2986  (*this)[0.8790] = +2.85140;
2987  (*this)[0.8800] = +2.86887;
2988  (*this)[0.8810] = +2.88635;
2989  (*this)[0.8820] = +2.90382;
2990  (*this)[0.8830] = +2.92130;
2991  (*this)[0.8840] = +2.93877;
2992  (*this)[0.8850] = +2.95625;
2993  (*this)[0.8860] = +2.97666;
2994  (*this)[0.8870] = +3.00168;
2995  (*this)[0.8880] = +3.02669;
2996  (*this)[0.8890] = +3.05171;
2997  (*this)[0.8900] = +3.07673;
2998  (*this)[0.8910] = +3.10175;
2999  (*this)[0.8920] = +3.12676;
3000  (*this)[0.8930] = +3.15178;
3001  (*this)[0.8940] = +3.17680;
3002  (*this)[0.8950] = +3.20182;
3003  (*this)[0.8960] = +3.22684;
3004  (*this)[0.8970] = +3.25185;
3005  (*this)[0.8980] = +3.27687;
3006  (*this)[0.8990] = +3.30189;
3007  (*this)[0.9000] = +3.32691;
3008  (*this)[0.9010] = +3.35192;
3009  (*this)[0.9020] = +3.37694;
3010  (*this)[0.9030] = +3.40196;
3011  (*this)[0.9040] = +3.42698;
3012  (*this)[0.9050] = +3.45199;
3013  (*this)[0.9060] = +3.48126;
3014  (*this)[0.9070] = +3.51682;
3015  (*this)[0.9080] = +3.55238;
3016  (*this)[0.9090] = +3.58795;
3017  (*this)[0.9100] = +3.62351;
3018  (*this)[0.9110] = +3.65907;
3019  (*this)[0.9120] = +3.69463;
3020  (*this)[0.9130] = +3.73019;
3021  (*this)[0.9140] = +3.76575;
3022  (*this)[0.9150] = +3.80131;
3023  (*this)[0.9160] = +3.83687;
3024  (*this)[0.9170] = +3.87244;
3025  (*this)[0.9180] = +3.90800;
3026  (*this)[0.9190] = +3.94356;
3027  (*this)[0.9200] = +3.98470;
3028  (*this)[0.9210] = +4.03654;
3029  (*this)[0.9220] = +4.08838;
3030  (*this)[0.9230] = +4.14022;
3031  (*this)[0.9240] = +4.19207;
3032  (*this)[0.9250] = +4.24391;
3033  (*this)[0.9260] = +4.29575;
3034  (*this)[0.9270] = +4.34759;
3035  (*this)[0.9280] = +4.39943;
3036  (*this)[0.9290] = +4.45128;
3037  (*this)[0.9300] = +4.52054;
3038  (*this)[0.9310] = +4.59735;
3039  (*this)[0.9320] = +4.67416;
3040  (*this)[0.9330] = +4.75097;
3041  (*this)[0.9340] = +4.82777;
3042  (*this)[0.9350] = +4.90458;
3043  (*this)[0.9360] = +4.98770;
3044  (*this)[0.9370] = +5.09802;
3045  (*this)[0.9380] = +5.20834;
3046  (*this)[0.9390] = +5.31866;
3047  (*this)[0.9400] = +5.42899;
3048  (*this)[0.9410] = +5.56069;
3049  (*this)[0.9420] = +5.70360;
3050  (*this)[0.9430] = +5.84651;
3051  (*this)[0.9440] = +5.99370;
3052  (*this)[0.9450] = +6.16382;
3053  (*this)[0.9460] = +6.33393;
3054  (*this)[0.9470] = +6.50983;
3055  (*this)[0.9480] = +6.70641;
3056  (*this)[0.9490] = +6.90300;
3057  (*this)[0.9500] = +7.12216;
3058  (*this)[0.9510] = +7.35219;
3059  (*this)[0.9520] = +7.60131;
3060  (*this)[0.9530] = +7.86944;
3061  (*this)[0.9540] = +8.16495;
3062  (*this)[0.9550] = +8.47740;
3063  (*this)[0.9560] = +8.83250;
3064  (*this)[0.9570] = +9.21642;
3065  (*this)[0.9580] = +9.63363;
3066  (*this)[0.9590] = +10.08743;
3067  (*this)[0.9600] = +10.58057;
3068  (*this)[0.9610] = +11.11009;
3069  (*this)[0.9620] = +11.67422;
3070  (*this)[0.9630] = +12.26513;
3071  (*this)[0.9640] = +12.87490;
3072  (*this)[0.9650] = +13.49695;
3073  (*this)[0.9660] = +14.12004;
3074  (*this)[0.9670] = +14.74213;
3075  (*this)[0.9680] = +15.36040;
3076  (*this)[0.9690] = +15.97284;
3077  (*this)[0.9700] = +16.58473;
3078  (*this)[0.9710] = +17.19799;
3079  (*this)[0.9720] = +17.81857;
3080  (*this)[0.9730] = +18.45020;
3081  (*this)[0.9740] = +19.09341;
3082  (*this)[0.9750] = +19.75250;
3083  (*this)[0.9760] = +20.42880;
3084  (*this)[0.9770] = +21.12663;
3085  (*this)[0.9780] = +21.84694;
3086  (*this)[0.9790] = +22.58268;
3087  (*this)[0.9800] = +23.31851;
3088  (*this)[0.9810] = +24.03825;
3089  (*this)[0.9820] = +24.72714;
3090  (*this)[0.9830] = +25.38120;
3091  (*this)[0.9840] = +25.99548;
3092  (*this)[0.9850] = +26.57603;
3093  (*this)[0.9860] = +27.12984;
3094  (*this)[0.9870] = +27.66748;
3095  (*this)[0.9880] = +28.19600;
3096  (*this)[0.9890] = +28.72559;
3097  (*this)[0.9900] = +29.26628;
3098  (*this)[0.9910] = +29.82861;
3099  (*this)[0.9920] = +30.42754;
3100  (*this)[0.9930] = +31.08679;
3101  (*this)[0.9940] = +31.82708;
3102  (*this)[0.9950] = +32.69277;
3103  (*this)[0.9960] = +33.75956;
3104  (*this)[0.9970] = +35.23144;
3105  (*this)[0.9980] = +37.82029;
3106  (*this)[0.9990] = +45.25581;
3107  (*this)[1.0000] = +96.53998;
3108 
3109  compile();
3110  }

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: