#include <global_simpleAngular.h>
Public Member Functions | |
bool | checkParameters () |
subclass must check the supplied parameters ParE_, ParS_ More... | |
void | checkTermination () |
for algorithms with incr_==0 the algorithm must check whether to terminate More... | |
global_simpleAngular_0 (AlgoPos *, std::string label) | |
DDRotationMatrix | rotation () |
subclass must calculate a rotation matrix More... | |
void | stream (std::ostream &) const |
DDTranslation | translation () |
subclass must calculate a translation std::vector More... | |
~global_simpleAngular_0 () | |
Public Member Functions inherited from AlgoImpl | |
AlgoImpl (AlgoPos *, std::string label) | |
subclass must provide a similar constructor and call this one More... | |
Additional Inherited Members | |
Protected Member Functions inherited from AlgoImpl | |
virtual int | copyno () const |
copy-number calculation More... | |
void | terminate () |
stop the current iteration of the algorithm (for incr_==0 types of algorithms) More... | |
virtual | ~AlgoImpl () |
Static Protected Member Functions inherited from AlgoImpl | |
static std::string | d2s (double x) |
ahh, converts a double into a std::string ... yet another one of this kind! More... | |
Protected Attributes inherited from AlgoImpl | |
const int & | count_ |
const int & | curr_ |
const int & | end_ |
std::string & | err_ |
const int & | incr_ |
std::string | label_ |
parE_type & | ParE_ |
parS_type & | ParS_ |
const int & | start_ |
bool & | terminate_ |
(...THIS COULD BE DOXYGEN CONFORMANT ...) Angular positioning according to the formula:
offset ... an angle offset from which to start the positioning
radius ... an offset distance in the radial direction.
delta ... angular delta between each position.
number ... number of times to position within the range rotate ... boolean text, T or F, True or False, 1 or zero. Use this to indicate if the self logical part should be rotated. Since the DDD uses double or std::string, I'm using std::string. default = "T" orientation ... std::string: rotation matrix name to be used to orient the part within the mother. This is a DDLrRotation.
The algorithm has (at least) two implementations.
The first is selected if delta is specified and number is NOT specified. In this algorithm, the positioning is relatively straight-forward.
The second is selected if number is specified and delta is NOT specified. This should use the first one by specifying a delta based on dividing up 360 degrees by the number of positionings desired. For this one, CheckTermination is used to determine when to stop making them.
Some methods are only specific to this algorithm (I HOPE)
Definition at line 57 of file global_simpleAngular.h.
global_simpleAngular_0::global_simpleAngular_0 | ( | AlgoPos * | a, |
std::string | label | ||
) |
Definition at line 20 of file global_simpleAngular.cc.
global_simpleAngular_0::~global_simpleAngular_0 | ( | ) |
Definition at line 24 of file global_simpleAngular.cc.
|
virtual |
subclass must check the supplied parameters ParE_, ParS_
whether they are correct and should select this paricular algorithm.
If the parameters are correct by should not select this particular algorithm, checkParamters must return false otherwise true.
The std::string err_ is to be used to be extended with error information in case any errors have been detected. Error information must be attached to err_ because of the possibility of already contained error information.
In case of errors: If an DDException is thrown by the algorithm implementation, further processing of any other implementations of the algorithm will be stopped. If no exception is thrown, checkParamters must return false. It's preferable not to throw an exception in case of errors. The algorithm implementation will throw if all checkParamters() of all registered algorithm implementations have returned false.
Implements AlgoImpl.
Definition at line 27 of file global_simpleAngular.cc.
References AlgoImpl::err_, AlgoImpl::ParE_, query::result, and findQualityFiles::size.
|
virtual |
for algorithms with incr_==0 the algorithm must check whether to terminate
Overload this function in case the algorithm is a 'incr_==0' type. In this case provide some code which checks using perhaps the value of count_ and/or supplied algorithm parameters to check whether terminate() has to be called or not. If terminate() is called, the current iteration of the algorithm is not taken into account!
The default implementation will immidiately terminate the algorithm in case incr_==0.
In case of incr_!=0: checkTermination() is not called at all; the algorithm will terminate automatically when the specified range [start_, end_, incr_] has been covered or terminate() has been called from within translation() or rotation().
Reimplemented from AlgoImpl.
Definition at line 148 of file global_simpleAngular.cc.
References AlgoImpl::count_, AlgoImpl::ParE_, and AlgoImpl::terminate().
|
virtual |
subclass must calculate a rotation matrix
depending on the current position curr_ in the range [start_,end_,incr_] and the user supplied parameters ParE_, ParS_
Implements AlgoImpl.
Definition at line 71 of file global_simpleAngular.cc.
References angle(), AlgoImpl::count_, gather_cfg::cout, i, j, mergeVDriftHistosByStation::name, AlgoImpl::ParE_, AlgoImpl::ParS_, submit::rm, DDRotation::rotation(), and findQualityFiles::size.
void global_simpleAngular_0::stream | ( | std::ostream & | os | ) | const |
Definition at line 159 of file global_simpleAngular.cc.
|
virtual |
subclass must calculate a translation std::vector
depending on the current position curr_ in the range [start_,end_,incr_] and the user supplied parameters ParE_, ParS_
Implements AlgoImpl.
Definition at line 57 of file global_simpleAngular.cc.
References funct::cos(), AlgoImpl::count_, delta, evf::evtn::offset(), AlgoImpl::ParE_, CosmicsPD_Skims::radius, and funct::sin().