Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:51

0001 #ifndef ATOOLS_Math_ZAlign_H
0002 #define ATOOLS_Math_ZAlign_H
0003 
0004 #include "ATOOLS/Math/Poincare.H"
0005 
0006 namespace ATOOLS {
0007 
0008   class ZAlign {
0009   private:
0010 
0011     Poincare m_cmso, m_zrot, m_cmsn;
0012     Vec4D    m_pao, m_pan, m_pb;
0013 
0014     int m_stat;
0015 
0016   public:
0017 
0018     inline ZAlign() {}
0019 
0020     ZAlign(const Vec4D &pa,const Vec4D &pb,
0021        const double &ma2,const double &mb2,
0022        const int mode=0);
0023 
0024     void  Align(Vec4D &p) const;
0025     Vec4D Align(const Vec4D &p) const;
0026 
0027     operator Poincare_Sequence() const;
0028 
0029     inline const Vec4D &PaOld() const { return m_pao; }
0030     inline const Vec4D &PaNew() const { return m_pan; }
0031     inline const Vec4D &Pb() const    { return m_pb;  }
0032 
0033     inline int Status() const { return m_stat; }
0034 
0035   };// end of class ZAlign
0036 
0037 }// end of namespace ATOOLS
0038 
0039 #endif