00001 // hkl_controls.hh 00002 // 00003 // Selection controls for hkl_unmerge 00004 00005 #ifndef HKL_CONTROLS_HEADER 00006 #define HKL_CONTROLS_HEADER 00007 00008 #include "controls.hh" 00009 #include "range.hh" 00010 #include "InputAll.hh" 00011 00012 00013 namespace scala 00014 { 00015 //=================================================================== 00016 class file_select 00018 00026 { 00027 public: 00028 file_select(); 00030 file_select(phaser_io::InputAll input, const int& NumFileSeries); 00031 00032 void set_reslimits(const ResoRange& resrange); 00033 ResoRange reslimits() const {return range_sel;} 00034 00036 bool in_reslimits(const Rtype& s) const; 00037 00038 bool accept_dataset(const PxdName& pxdname) const 00039 {return true;} 00040 00042 // NB for reject options specifying batch numbers _after_ 00043 // any renumbering, no test will be done 00044 // (ie always returns true) unless fileSeries == 1 00045 bool accept_batch(const int& batch_number, const int& fileSeries) const; 00046 00047 BatchSelection BatchExclude() const {return batchexclude;} 00048 00049 void incr_rej_mflag() {nrej_mflag++;} 00050 void incr_rej_reso() {nrej_reso++;} 00051 int Nrej_mflag() const {return nrej_mflag;} 00052 int Nrej_reso() const {return nrej_reso;} 00053 00054 float InputScale() const {return inputscale;} 00055 float& InputScale() {return inputscale;} 00056 00058 float NullResFrac() const {return nullResolutionfraction;} // get 00060 float& NullResFrac() {return nullResolutionfraction;} // set 00062 float NullNegativeReject() const {return nullNegativeReject;} // get 00064 float& NullNegativeReject() {return nullNegativeReject;} // set 00065 00066 private: 00067 void init(); 00068 int nrej_mflag, nrej_reso; 00069 ResoRange range_sel; 00070 BatchSelection batchexclude; // List/ranges of batches to exclude 00071 float inputscale; // scale factor to apply on input 00072 // fraction of maximum resolution to use in test for blank batches 00073 float nullResolutionfraction; 00074 // Threshold on proportion of negative reflections 00075 float nullNegativeReject; 00076 00077 }; // file_select 00078 } 00079 #endif
1.6.3