Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:15

0001 #ifndef SHRIMPS_Eikonals_Grid_H
0002 #define SHRIMPS_Eikonals_Grid_H
0003 
0004 #include "ATOOLS/Math/MathTools.H"
0005 #include <vector>
0006 
0007 namespace SHRIMPS {
0008   class Grid {
0009   private:
0010     size_t m_ff1steps, m_ff2steps;
0011     double m_ff1max, m_ff2max, m_Ymax;
0012     size_t m_ff1bin, m_ff2bin;
0013     double m_deltaff1, m_deltaff2, m_deltay;
0014     double m_ff1low, m_ff1up, m_ff2low, m_ff2up;
0015     double m_d1up,   m_d1low, m_d2up,   m_d2low;
0016     
0017     std::vector<std::vector<std::vector<double> > > m_grid;
0018     bool   FixBins(const double & ff1,const double & ff2);
0019     double ValueAtLowerYEdge();
0020     double ValueAtUpperYEdge();
0021     double Value(const double & y);
0022   public:
0023     Grid(const double & Ymax);
0024     ~Grid();
0025     
0026     void Initialise(const size_t & ff1steps,const size_t & ff2steps,
0027             const double & ff1max,const double & ff2max);
0028     void InsertValues(const size_t & i,const size_t & j,
0029               const std::vector<double> & values);
0030     double operator()(const double & ff1,const double & ff2,const double & y);
0031   };
0032 }
0033 
0034 #endif