EMAN2
|
Random Orientation Generator - carefully generates uniformly random orientations in any asymmetric unit. More...
#include <symmetry.h>
Public Member Functions | |
RandomOrientationGenerator () | |
virtual | ~RandomOrientationGenerator () |
virtual string | get_name () const |
Return "random". More... | |
virtual string | get_desc () const |
Get a description. More... | |
virtual TypeDict | get_param_types () const |
Get a dictionary containing the permissable parameters of this class. More... | |
virtual vector< Transform > | gen_orientations (const Symmetry3D *const sym) const |
Generate random orientations in the asymmetric unit of the symmetry. More... | |
virtual int | get_orientations_tally (const Symmetry3D *const sym, const float &delta) const |
This function returns how many orientations will be generated for a given delta (angular spacing) It should general do this by simulating the function gen_orientations. More... | |
Public Member Functions inherited from EMAN::OrientationGenerator | |
OrientationGenerator () | |
virtual | ~OrientationGenerator () |
bool | add_orientation (vector< Transform > &v, const float &az, const float &alt) const |
This functions adds one or more Transform objects to the vector v, depending on the parameters stored in the dictionary (which the inheriting class may include by initializing the typedict in get_param_types by calling. More... | |
float | get_optimal_delta (const Symmetry3D *const sym, const int &n) const |
This function gets the optimal value of the delta (or angular spacing) of the orientations based on a desired total number of orientations (n). More... | |
Public Member Functions inherited from EMAN::FactoryBase | |
FactoryBase () | |
virtual | ~FactoryBase () |
Dict | get_params () const |
get a copy of the parameters of this class More... | |
void | set_params (const Dict &new_params) |
Set new parameters. More... | |
void | set_param (const string key, const EMObject val) |
void | insert_params (const Dict &new_params) |
Insert parameters. More... | |
Dict | copy_relevant_params (const FactoryBase *const that) const |
Static Public Member Functions | |
static OrientationGenerator * | NEW () |
Factory support function NEW. More... | |
Static Public Attributes | |
static const string | NAME = "rand" |
The name of this class - used to access it from factories etc. More... | |
Private Member Functions | |
RandomOrientationGenerator (const RandomOrientationGenerator &) | |
Disallow copy construction. More... | |
RandomOrientationGenerator & | operator= (const RandomOrientationGenerator &) |
Disallow assignment. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from EMAN::OrientationGenerator | |
void | get_az_max (const Symmetry3D *const sym, const float &altmax, const bool inc_mirror, const float &alt_iterator, const float &h, bool &d_odd_mirror_flag, float &azmax_adjusted) const |
Protected Attributes inherited from EMAN::FactoryBase | |
Dict | params |
This is the dictionary the stores the parameters of the object. More... | |
Random Orientation Generator - carefully generates uniformly random orientations in any asymmetric unit.
For points distributed in the unit sphere, just use the CSym type with nysm = 1. (i.e. c1 symmetry)
Definition at line 1234 of file symmetry.h.
|
inline |
|
inlinevirtual |
Definition at line 1238 of file symmetry.h.
|
private |
Disallow copy construction.
|
virtual |
Generate random orientations in the asymmetric unit of the symmetry.
sym | the symmetry which defines the interesting asymmetric unit |
Implements EMAN::OrientationGenerator.
Definition at line 546 of file symmetry.cpp.
References EMAN::Util::get_frand(), EMAN::Symmetry3D::get_nsym(), InvalidParameterException, EMAN::Symmetry3D::is_c_sym(), EMAN::Symmetry3D::is_in_asym_unit(), EMAN::FactoryBase::params, EMAN::EMConsts::rad2deg, EMAN::Symmetry3D::reduce(), EMAN::Dict::set_default(), x, and y.
|
inlinevirtual |
Get a description.
Implements EMAN::FactoryBase.
Definition at line 1256 of file symmetry.h.
|
inlinevirtual |
Return "random".
Implements EMAN::FactoryBase.
Definition at line 1251 of file symmetry.h.
References NAME.
|
inlinevirtual |
This function returns how many orientations will be generated for a given delta (angular spacing) It should general do this by simulating the function gen_orientations.
sym | the symmetry which defines the interesting asymmetric unit |
delta | the desired angular spacing of the orientations |
Implements EMAN::OrientationGenerator.
Definition at line 1280 of file symmetry.h.
|
inlinevirtual |
Get a dictionary containing the permissable parameters of this class.
Reimplemented from EMAN::OrientationGenerator.
Definition at line 1262 of file symmetry.h.
References EMAN::EMObject::BOOL, EMAN::EMObject::INT, and EMAN::TypeDict::put().
|
inlinestatic |
Factory support function NEW.
Definition at line 1243 of file symmetry.h.
References RandomOrientationGenerator().
|
private |
Disallow assignment.
|
static |
The name of this class - used to access it from factories etc.
Definition at line 1278 of file symmetry.h.
Referenced by EMAN::OptimumOrientationGenerator::gen_orientations(), and get_name().