// copyright ############################### //
// This file is part of the Xtrack Package.  //
// Copyright (c) CERN, 2021.                 //
// ######################################### //

#ifndef XTRACK_CONSTANTS_H
#define XTRACK_CONSTANTS_H

#if !defined( C_LIGHT )
    #define   C_LIGHT ( 299792458.0 )
#endif /* !defined( C_LIGHT ) */

#if !defined( EPSILON_0 )
    #define   EPSILON_0 (8.854187817620e-12)
#endif /* !defined( EPSILON_0 ) */

#if !defined( PI )
    #define PI (3.1415926535897932384626433832795028841971693993751)
#endif /* !defined( PI ) */

#if !defined( MU_0 )
    #define MU_0 (PI*4.0e-7)
#endif /* !defined( MU_0 ) */

#if !defined( DEG2RAD )
    #define DEG2RAD (0.0174532925199432957692369076848861271344287188854)
#endif /* !defiend( DEG2RAD ) */

#if !defined( RAD2DEG )
    #define RAD2DEG (57.29577951308232087679815481410517033240547246656442)
#endif /* !defiend( RAD2DEG ) */

#if !defined( SQRT_PI )
    #define SQRT_PI (1.7724538509055160272981674833411451827975494561224)
#endif /* !defined( SQRT_PI ) */

#if !defined( QELEM )
    #define QELEM (1.60217662e-19)
#endif /* !defined( QELEM ) */

#if !defined( DBL_MAX )
    #define DBL_MAX (1.7976931348623158e+308)
#endif /* !defined( DBL_MAX ) */

#if !defined( DBL_MIN )
    #define DBL_MIN (2.2250738585072014e-308)
#endif /* !defined( DBL_MIN ) */

#if !defined( DBL_EPSILON )
    #define DBL_EPSILON (2.2204460492503131e-16)
#endif /* !defined( DBL_EPSILON ) */

#if !defined( RADIUS_ELECTRON )
    #define RADIUS_ELECTRON (2.8179403262e-15)
#endif /* !defined( RADIUS_ELECTRON ) */

#if !defined( MASS_ELECTRON )
    #define MASS_ELECTRON (9.1093837e-31)
#endif /* !defined( MASS_ELECTRON ) */

#endif /* XTRACK_CONSTANTS_H */
