File indexing completed on 2025-04-19 09:10:13
0001 #ifndef RECONNECTIONS_Main_Reconnect_Statistical_H
0002 #define RECONNECTIONS_Main_Reconnect_Statistical_H
0003
0004 #include "RECONNECTIONS/Main/Reconnection_Base.H"
0005
0006 namespace RECONNECTIONS {
0007 class Reconnect_Statistical : public Reconnection_Base {
0008 private:
0009 std::vector<unsigned int> m_collist;
0010 int m_Pmode;
0011 double m_Q02, m_etaQ, m_R02, m_etaR, m_reshuffle, m_kappa, m_norm;
0012
0013 void SetParameters();
0014 void FixPMode(const std::string & pm);
0015 bool SelectColourPair(const size_t & N,unsigned int & col1, unsigned int & col2);
0016 bool AttemptSwap(const unsigned int col[2]);
0017 void UpdateColours();
0018
0019 double MomDistance(ATOOLS::Particle * trip,ATOOLS::Particle * anti);
0020 double PosDistance(ATOOLS::Particle * trip,ATOOLS::Particle * anti);
0021 double ColDistance(ATOOLS::Particle * trip,ATOOLS::Particle * anti);
0022 double TotalLength();
0023 public:
0024 Reconnect_Statistical();
0025 ~Reconnect_Statistical();
0026
0027 int operator()(ATOOLS::Blob_List *const blobs);
0028 void Reset();
0029 double Distance(ATOOLS::Particle * trip,ATOOLS::Particle * anti);
0030 };
0031 }
0032 #endif