File indexing completed on 2025-12-13 10:29:16
0001 #ifndef PHASIC_Main_Phase_Space_Integrator_H
0002 #define PHASIC_Main_Phase_Space_Integrator_H
0003
0004 #include <stddef.h>
0005
0006 namespace PHASIC {class Phase_Space_Handler;}
0007
0008 namespace PHASIC {
0009
0010 class Phase_Space_Integrator {
0011 private:
0012 static long unsigned int m_nrawmax;
0013 long unsigned int m_nopt, m_iter, m_itmin, m_nexpected;
0014
0015 long unsigned int m_n, m_nstep, m_ncstep;
0016 long unsigned int m_mn, m_mnstep, m_mncstep;
0017 long unsigned int m_ncontrib, m_maxopt, m_stopopt, m_nlo;
0018
0019 bool m_fin_opt;
0020
0021 double m_starttime, m_lotime, m_addtime, m_lrtime;
0022 double m_maxerror, m_maxabserror, m_npower;
0023
0024 size_t m_lastrss;
0025
0026 double m_stepstart, m_timestep, m_timeslope;
0027
0028 Phase_Space_Handler *p_psh;
0029
0030 void RegisterDefaults() const;
0031
0032 public:
0033
0034 Phase_Space_Integrator(Phase_Space_Handler*);
0035
0036 ~Phase_Space_Integrator();
0037
0038 double Calculate(double,double,bool);
0039 double CalculateDecay(double);
0040
0041 void MPISync();
0042
0043 bool AddPoint(const double value);
0044
0045 };
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074 }
0075 #endif