17 #include <basic/options/option.hh>
22 #include <basic/options/keys/edensity.OptionKeys.gen.hh>
23 #include <basic/options/keys/patterson.OptionKeys.gen.hh>
25 #include <utility/vector1.hh>
32 namespace electron_density {
36 using namespace basic::options;
38 if ( option[ OptionKeys::patterson::weight ].user() ) {
40 option[ OptionKeys::patterson::weight ]() );
42 if ( option[ OptionKeys::edensity::fastdens_wt ].user() ) {
44 option[ OptionKeys::edensity::fastdens_wt ]() );
46 if ( option[ OptionKeys::edensity::sliding_window_wt ].user() ) {
48 option[ OptionKeys::edensity::sliding_window_wt ]() );
50 if ( option[ OptionKeys::edensity::whole_structure_ca_wt ].user() ) {
52 option[ OptionKeys::edensity::whole_structure_ca_wt ]() );
54 if ( option[ OptionKeys::edensity::whole_structure_allatom_wt ].user() ) {
56 option[ OptionKeys::edensity::whole_structure_allatom_wt ]() );
63 ObjexxFCL::FArray3D< double > & coeffs ,
65 int dims[3] = { coeffs.u3(), coeffs.u2(), coeffs.u1() };
66 core::Real pt[3] = { idxX[2]-1.0 , idxX[1]-1.0, idxX[0]-1.0 };
72 ObjexxFCL::FArray3D< double > & data ,
73 ObjexxFCL::FArray3D< double > & coeffs) {
74 int dims[3] = { data.u3(), data.u2(), data.u1() };
80 ObjexxFCL::FArray3D< float > & data ,
81 ObjexxFCL::FArray3D< double > & coeffs) {
82 int N = data.u3()*data.u2()*data.u1();
83 ObjexxFCL::FArray3D< double > data_d(data.u1(),data.u2(),data.u3()) ;
84 for (
int i=0; i<
N; ++i)
85 data_d[i] = (
double)data[i];