scala::hkl_unmerge_list Class Reference

This is the top-level unmerged reflection object. More...

#include <hkl_unmerge.hh>

List of all members.

Classes

struct  ComparePartOrder

Public Member Functions

 hkl_unmerge_list ()
 construct empty object, must be followed by init
void init (const std::string &Title, const int &NreflReserve, const hkl_symmetry &symmetry, const all_controls &controls, const std::vector< Xdataset > &DataSets, const std::vector< Batch > &Batches)
 Initialise for internal writing, with dataset and batch information.
void init (const std::string &Title, const int &NreflReserve, const hkl_symmetry &symmetry, const all_controls &controls)
 Initialise for internal writing,dataset and batch information added later.
void clear ()
 Clear out list ready for new init.
bool IsEmpty () const
 true if list is empty
bool IsReady () const
 true if list processed ready for use
void StoreDatasetBatch (const std::vector< Xdataset > &DataSets, const std::vector< Batch > &Batches)
 Store datasets & batch info following previous call to init.
void AddDatasetBatch (const std::vector< Xdataset > &DataSets, const std::vector< Batch > &Batches)
 append datasets & batch info following previous call to init
int append (const hkl_unmerge_list &OtherList)
 Add in another hkl_unmerge_list to this one.
 hkl_unmerge_list (const hkl_unmerge_list &List)
 Copy constructor throws exception unless object is EMPTY.
hkl_unmerge_listoperator= (const hkl_unmerge_list &List)
 Copy operator throws exception unless object is EMPTY.
void SetResoLimits (const float &LowReso, const float &HighReso)
 set resolution
void ResetResoLimits ()
 reset to file limits
void SetIceRings (const Rings &rings)
 store ice rings, only store ones flagged as "reject"
void ImposeResoByRunLimits ()
 If there are any resolution limits set by run, go through the observation.
int num_reflections () const
 total number of reflections
int num_reflections_valid () const
 number of valid reflections
int num_reflections_icering () const
 number of reflections in ice rings
int num_observations () const
 total number of observations
int num_observations_full () const
 number of fully-recorded observations
int num_observations_part () const
 number of partially-recorded observations
int num_observations_scaled () const
 number of scaled partial observations
int num_observations_rejected_FracTooSmall () const
 number of partial observations rejected for too small fraction
int num_observations_rejected_FracTooLarge () const
 number of partial observations rejected for too large fraction
int num_observations_rejected_Gap () const
 number of partial observations rejected for gap
Rtype MinSigma () const
 Minimum sigma(I) of summed partials.
Scell cell (const PxdName &PXDsetName=PxdName()) const
 return unit cell for named dataset: if name is blank return average cell for all datasets
Scell Cell () const
 returns average cell
hkl_symmetry symmetry () const
 returns symmetry
void SetMtzSym (const CMtz::SYMGRP &Mtzsym)
 Store MTZ symmetry (just for checking if next file has same symmetry).
CMtz::SYMGRP MtzSym () const
 Return MTZ symmetry (for file output).
ReindexOp TotalReindex () const
 Total reindexing so far (cumulative).
ResoRange ResRange () const
 Resolution.
Range Srange () const
 smin, smax (1/d^2)
Range RRange () const
 low, high, A
ResoRange ResLimRange () const
 Resolution limits.
Rtype DstarMax () const
 maximum d* = lambda/d
int num_datasets () const
 number of datasets
Xdataset xdataset (const int &jset) const
 jset'th dataset
std::vector< XdatasetAllXdatasets () const
 all datasets
int num_batches () const
 number of batches
std::vector< BatchBatches () const
 all batches
Batch batch (const int &jbat) const
 Actual batch number for batch serial.
int batch_serial (const int &batch) const
 Batch serial for given batch.
int NextBatchSerial (const int &batchnum, const int &maxbatchnum) const
int LastBatchSerial (const int &batchnum) const
int num_runs () const
 number of runs
std::vector< RunRunList () const
 all runs
void OffsetBatchNumbers (const std::vector< int > &runOffsets)
 Apply offset to batch numbers, one offset for each run.
void RejectBatch (const int &batch)
 Mark batch number ibatch as not accepted.
void RejectBatchSerial (const int &jbat)
 Mark batch with serial number jbat as not accepted.
int PurgeRejectedBatches ()
 Remove all observation parts belonging to rejected batches: returns number of parts rejected.
int EliminateBatches (const std::vector< int > RejectedBatches)
 Remove all observation parts belonging to specified rejected batches and remove them entirely from the list.
std::string Title () const
 Title from file.
void AppendFileName (const std::string &Name)
 Append filename to list of names.
std::string Filename () const
 returns filename list
reflection get_reflection (const int &lref) const
 return one reflection for index jref, unconditional, no checks
int get_reflection (reflection &refl, const Hkl &hkl) const
 Return reflection for given (reduced) hkl in refl. Returns index number or -1 if missing.
int next_reflection (reflection &refl) const
 Return next accepted reflection in argument refl, returns index number = -1 if end.
void replace_reflection (const reflection &refl)
 replace current reflection with updated version
void replace_observation (const observation &obs, const int &lobs)
 replace lobs'th observation in current reflection with updated version
void rewind () const
 Reset reflection counter to beginning for "next_reflection".
observation_partfind_part (const int &i) const
 Retrieve i'th obs_part using pointer list.
int num_parts () const
 Total number of parts. Required for MTZ dump, otherwise for internal use.
int change_symmetry (const hkl_symmetry &new_symm, const ReindexOp &reindex_op, const bool &AllowFractIndex=false)
 Change symmetry or reindex.
int prepare ()
 Prepare list for reflection processing.
int sum_partials ()
 Sum partials.
void CalcSecondaryBeams (const int &pole)
 Calculate all secondary beam directions, in chosen frame.
void SetPoles (const int &pole)
 Set up poles for Absorption.
std::pair< float, float > CalcSecondaryBeamPolar (const int &batchNum, const Hkl &hkl_original, const float &phi, DVect3 &sPhi) const
 Calculate secondary beam direction for one observation.
DVect3 CalcSecondaryBeam (const int &batchNum, const Hkl &hkl_original, const float &phi, DVect3 &sPhi) const
 Calculate secondary beam directions.
void ResetObsAccept (ObservationFlagControl &ObsFlagControl)
 Reset all observation accepted flags.
void ResetReflAccept ()
 Reset reflection accepted flags to accept all (subject to resolution checks etc).
void store_part (const Hkl &hkl_in, const int &isym_in, const int &batch_in, const Rtype &I_in, const Rtype &sigI_in, const Rtype &Ipr, const Rtype &sigIpr, const Rtype &Xdet_in, const Rtype &Ydet_in, const Rtype &phi_in, const Rtype &time_in, const Rtype &fraction_calc_in, const Rtype &width_in, const Rtype &LP_in, const int &Npart_in, const int &Ipart_in, const ObservationFlag &ObsFlag_in)
 Adding observation parts (spots).
int close_part_list (const ResoRange &RRange, const bool &Sorted)
 finish adding parts
void StoreDataFlags (const data_flags &DataFlags)
 Put data flags to indicate which data items are actually present.
data_flags DataFlags () const
 Get data flags to indicate which data items are actually present.
void dump_reflection (const Hkl &hkl) const
void AutoSetRun ()

Detailed Description

This is the top-level unmerged reflection object.

It contains :-

To fill this object:

No reading of external files (eg MTZ file) is done within this class


Member Function Documentation

void scala::hkl_unmerge_list::AddDatasetBatch ( const std::vector< Xdataset > &  DataSets,
const std::vector< Batch > &  Batches 
)

append datasets & batch info following previous call to init

This may be one of several calls

int scala::hkl_unmerge_list::append ( const hkl_unmerge_list OtherList  ) 

Add in another hkl_unmerge_list to this one.

Returns status = 0 OK = +1 different symmetry (point group)

DVect3 scala::hkl_unmerge_list::CalcSecondaryBeam ( const int &  batchNum,
const Hkl hkl_original,
const float &  phi,
DVect3 &  sPhi 
) const

Calculate secondary beam directions.

On entry

Parameters:
batchNum [in] batch number
hkl_original [in] original hkl
phi [in] incident beam rotation, degrees
sPhi [out] diffraction vector at actual phi position

Returns DVect3 secondary beam directions, direction cosines

std::pair< float, float > scala::hkl_unmerge_list::CalcSecondaryBeamPolar ( const int &  batchNum,
const Hkl hkl_original,
const float &  phi,
DVect3 &  sPhi 
) const

Calculate secondary beam direction for one observation.

On entry

Parameters:
batchNum [in] batch number
hkl_original [in] original hkl
phi [in] incident beam rotation, degrees
sPhi [out] diffraction vector at actual phi position

Returns: pair(thetap, phip) secondary beam directions, radians

void scala::hkl_unmerge_list::CalcSecondaryBeams ( const int &  pole  ) 

Calculate all secondary beam directions, in chosen frame.

On entry:

Parameters:
pole = 0 SECONDARY camera frame != 0 ABSORPTION, crystal frame = 1,2,3 for h,k,l, = -1 unspecified, use closest reciprocal axis for each run
int scala::hkl_unmerge_list::change_symmetry ( const hkl_symmetry new_symm,
const ReindexOp reindex_op,
const bool &  AllowFractIndex = false 
)

Change symmetry or reindex.

If AllowFractIndex true, allow discarding of fractional index observations after reindexing, otherwise this is a fatal error Returns number of fractional index reflections discarded

int scala::hkl_unmerge_list::EliminateBatches ( const std::vector< int >  RejectedBatches  ) 

Remove all observation parts belonging to specified rejected batches and remove them entirely from the list.

Returns number of parts rejected

int scala::hkl_unmerge_list::get_reflection ( reflection refl,
const Hkl hkl 
) const

Return reflection for given (reduced) hkl in refl. Returns index number or -1 if missing.

Records current reflection

int scala::hkl_unmerge_list::prepare (  ) 

Prepare list for reflection processing.

if required, sort, organise, partials returns number of unique reflections

void scala::hkl_unmerge_list::RejectBatch ( const int &  batch  ) 

Mark batch number ibatch as not accepted.

Data records are not changed

void scala::hkl_unmerge_list::RejectBatchSerial ( const int &  jbat  ) 

Mark batch with serial number jbat as not accepted.

Data records are not changed

void scala::hkl_unmerge_list::ResetObsAccept ( ObservationFlagControl ObsFlagControl  ) 

Reset all observation accepted flags.

Reset all observation accepted flags to allow for acceptance of observations flagged as possible errors Counts observations reclassified them in ObsFlagControl

void scala::hkl_unmerge_list::rewind (  )  const

Reset reflection counter to beginning for "next_reflection".

not always needed since next_reflection resets it at end

int scala::hkl_unmerge_list::sum_partials (  ) 

Sum partials.

return number of partials


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations Friends
Generated on Tue Mar 1 11:22:32 2011 for Pointless by  doxygen 1.6.3