Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:20:02

0001 
0002 /***********************************************************************
0003 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors       *
0004 *                                                                      *
0005 * This file is part of EvtGen.                                         *
0006 *                                                                      *
0007 * EvtGen is free software: you can redistribute it and/or modify       *
0008 * it under the terms of the GNU General Public License as published by *
0009 * the Free Software Foundation, either version 3 of the License, or    *
0010 * (at your option) any later version.                                  *
0011 *                                                                      *
0012 * EvtGen is distributed in the hope that it will be useful,            *
0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
0015 * GNU General Public License for more details.                         *
0016 *                                                                      *
0017 * You should have received a copy of the GNU General Public License    *
0018 * along with EvtGen.  If not, see <https://www.gnu.org/licenses/>.     *
0019 ***********************************************************************/
0020 
0021 #ifndef EVTGENBASE_EVTDILOG_HH
0022 #define EVTGENBASE_EVTDILOG_HH 1
0023 
0024 // Include files
0025 
0026 /** @namespace EvtDiLog EvtDiLog.hh EvtGenBase/EvtDiLog.hh
0027  *  Dilogarithm function (replaces CERNLIB DDILOG)
0028  *
0029  *  @author Patrick Robbe
0030  *  @date   2007-01-23
0031  */
0032 namespace EvtDiLog {
0033     double DiLog( double x );
0034 
0035     // constants for computation
0036     static const double Z1 = 1.;
0037     static const double HF = Z1 / 2.;
0038     static const double PI = 3.14159265358979324;
0039     static const double PI3 = PI * PI / 3.;
0040     static const double PI6 = PI * PI / 6.;
0041     static const double PI12 = PI * PI / 12.;
0042     static const double C[20] = {
0043         0.42996693560813697,  0.40975987533077105,  -0.01858843665014592,
0044         0.00145751084062268,  -0.00014304184442340, 0.00001588415541880,
0045         -0.00000190784959387, 0.00000024195180854,  -0.00000003193341274,
0046         0.00000000434545063,  -0.00000000060578480, 0.00000000008612098,
0047         -0.00000000001244332, 0.00000000000182256,  -0.00000000000027007,
0048         0.00000000000004042,  -0.00000000000000610, 0.00000000000000093,
0049         -0.00000000000000014, 0.00000000000000002};
0050 }    // namespace EvtDiLog
0051 #endif    // EVTGENBASE_EVTDILOG_HH