Develop and Download Open Source Software

Browse Subversion Repository

Diff of /Conograph/trunk/src/lattice_symmetry/LatticeFigureOfMerit.hh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 25 by rtomiyasu, Mon Jul 7 02:35:51 2014 UTC revision 33 by rtomiyasu, Wed Sep 7 04:38:51 2016 UTC
# Line 145  public: Line 145  public:
145          virtual ~LatticeFigureOfMerit(){};          virtual ~LatticeFigureOfMerit(){};
146                    
147          void putMillerIndicesInRange(const Double& qrange_end,          void putMillerIndicesInRange(const Double& qrange_end,
148                                                                            const Int4& irc_type,
149                                                                          vector<HKL_Q>& cal_hkl_tray) const;                                                                          vector<HKL_Q>& cal_hkl_tray) const;
150    
151          void setDeWolffFigureOfMerit(const Int4& num_ref_figure_of_merit, const vector<QData>& qdata);          void setDeWolffFigureOfMerit(const Int4& num_ref_figure_of_merit, const Int4& irc_type, const vector<QData>& qdata);
152    
153          void setWuFigureOfMerit(const Int4& num_ref_figure_of_merit, const vector<QData>& qdata,          void setWuFigureOfMerit(const Int4& num_ref_figure_of_merit, const vector<QData>& qdata,
154                                          const Double& min_thred_num_hkl,                                          const Double& min_thred_num_hkl,
# Line 322  inline ZErrorMessage LatticeFigureOfMeri Line 323  inline ZErrorMessage LatticeFigureOfMeri
323    
324  inline void LatticeFigureOfMerit::reduceLatticeConstants(NRMat<Int4>& trans_mat)  inline void LatticeFigureOfMerit::reduceLatticeConstants(NRMat<Int4>& trans_mat)
325  {  {
326            // trans_mat * m_S_red * transpose(trans_mat) = m_S_optimized.first(old).
327          setInverseOfBuergerReducedForm(trans_mat);          setInverseOfBuergerReducedForm(trans_mat);
328            // m_S_optimized.first(new) = m_S_red.
329          m_S_optimized.first = m_S_red;          m_S_optimized.first = m_S_red;
         m_S_optimized.second = mprod(m_S_optimized.second, trans_mat);  
 }  
   
330    
331  inline VecDat3<Int4> product_hkl(const VecDat3<Int4>& lhs, const NRMat<Int4>& rhs)          // m_S_optimized.second(new) * m_S_optimized.first(new) * transpose(m_S_optimized.second(new))
332  {          //    = m_S_optimized.second(old) * m_S_optimized.first(old) * transpose(m_S_optimized.second(old)) is Delone reduced.
333          assert( rhs.nrows() >= 3 && rhs.ncols() == 3 );          m_S_optimized.second = mprod(m_S_optimized.second, trans_mat);
           
         VecDat3<Int4> ans;  
         ans[0] = lhs[0]*rhs[0][0] + lhs[1]*rhs[1][0] + lhs[2]*rhs[2][0];  
         ans[1] = lhs[0]*rhs[0][1] + lhs[1]*rhs[1][1] + lhs[2]*rhs[2][1];  
         ans[2] = lhs[0]*rhs[0][2] + lhs[1]*rhs[1][2] + lhs[2]*rhs[2][2];  
         return ans;  
334  }  }
335    
336    

Legend:
Removed from v.25  
changed lines
  Added in v.33

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26