45 #ifndef CLIPPER_HKL_OPERATORS
46 #define CLIPPER_HKL_OPERATORS
48 #include "hkl_datatypes.h"
58 HKL_data<Flag_bool> operator &(
const HKL_data_base& d1,
const HKL_data_base& d2 );
59 HKL_data<Flag_bool> operator |(
const HKL_data_base& d1,
const HKL_data_base& d2 );
60 HKL_data<Flag_bool> operator ^(
const HKL_data_base& d1,
const HKL_data_base& d2 );
61 HKL_data<Flag_bool> operator !(
const HKL_data_base& d1 );
63 HKL_data<Flag_bool> operator ==(
const HKL_data<Flag>& d1,
const int& n );
64 HKL_data<Flag_bool> operator !=(
const HKL_data<Flag>& d1,
const int& n );
65 HKL_data<Flag_bool> operator >=(
const HKL_data<Flag>& d1,
const int& n );
66 HKL_data<Flag_bool> operator <=( const HKL_data<Flag>& d1,
const int& n );
67 HKL_data<Flag_bool> operator >(
const HKL_data<Flag>& d1,
const int& n );
68 HKL_data<Flag_bool> operator <( const HKL_data<Flag>& d1,
const int& n );
71 template<
class dtype> F_phi<dtype> operator +(
const F_phi<dtype>& d1,
const F_phi<dtype>& d2 );
72 template<
class dtype> F_phi<dtype> operator -(
const F_phi<dtype>& d1,
const F_phi<dtype>& d2 );
73 template<
class dtype> F_phi<dtype> operator -(
const F_phi<dtype>& d1 );
74 template<
class dtype> ABCD<dtype> operator +(
const ABCD<dtype>& d1,
const ABCD<dtype>& d2 );
77 template<
class dtype> HKL_data<F_phi<dtype> > operator +(
const HKL_data<F_phi<dtype> >& d1,
const HKL_data<F_phi<dtype> >& d2 );
78 template<
class dtype> HKL_data<F_phi<dtype> > operator -(
const HKL_data<F_phi<dtype> >& d1,
const HKL_data<F_phi<dtype> >& d2 );
79 template<
class dtype> HKL_data<F_phi<dtype> > operator *(
const HKL_data<F_phi<dtype> >& d1,
const ftype& s );
80 template<
class dtype> HKL_data<F_phi<dtype> > operator -(
const HKL_data<F_phi<dtype> >& d1 );
81 template<
class dtype> HKL_data<ABCD<dtype> > operator +(
const HKL_data<ABCD<dtype> >& d1,
const HKL_data<ABCD<dtype> >& d2 );
82 template<
class dtype> HKL_data<F_phi<dtype> > operator *(
const ftype& s,
const HKL_data<F_phi<dtype> >& d1 ) {
return d1*s; }
115 int size()
const {
return q.size(); }
119 std::vector<ftype> q;
reflection class
Definition: coords.h:86
LogPhaseProb(const HKL_class &hkl_class)
constructor: from HKL class
Definition: hkl_operators.cpp:236
void get_phi_fom(datatypes::Phi_fom< dtype > &phifom) const
get phi/fom
Definition: hkl_operators.cpp:295
static const ftype & twopi()
2 pi
Definition: clipper_util.h:162
ftype64 ftype
ftype definition for floating point representation
Definition: clipper_precision.h:58
ftype phase(const int &p) const
return phase associated with index
Definition: hkl_operators.h:113
Reflection data type: Hendrickson-Lattman coeff.
Definition: hkl_datatypes.h:363
void set_phi_fom(const datatypes::Phi_fom< dtype > &phifom)
set phi/fom
Definition: hkl_operators.cpp:282
Log phase probability distribution object.
Definition: hkl_operators.h:96
void set_abcd(const datatypes::ABCD< dtype > &abcd)
set HL coeffs
Definition: hkl_operators.cpp:249
void get_abcd(datatypes::ABCD< dtype > &abcd) const
get HL coeffs
Definition: hkl_operators.cpp:264
int size() const
return num. of phases
Definition: hkl_operators.h:115
static int sampling()
return phase sampling
Definition: hkl_operators.h:116
Reflection data type: best phi + fom.
Definition: hkl_datatypes.h:334
const ftype & operator[](const int &p) const
get log probability
Definition: hkl_operators.h:109