#include <global_linear.h>
Public Member Functions | |
bool | checkParameters () |
subclass must check the supplied parameters ParE_, ParS_ More... | |
global_linear_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_linear_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 void | checkTermination () |
for algorithms with incr_==0 the algorithm must check whether to terminate More... | |
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_ |
Linear positioning according to the formula: c = {s, s+i, s+2*i, .. <=e} ... current number in alg.range dir[theta,phi] ... unit-std::vector in direction theta,phi offset ... an offset distance in direction dir(theta,phi) delta ... distance between two subsequent positions along dir[theta,phi] base ... a 3d-point where the offset is calculated from base is optional, if omitted base=(0,0,0) 3Dpoint(c) = base + (offset + c*delta)*dir[theta,phi]
The algorithm will have 2 implementations: The first will be selected if base is not present in the input parameters, the second will be selected if base is present in the input parameters. (This is just an example and 2 implementations are not really necessary. They are only here to demonstrate the capability of having mulitiple implementations of the same algorithm)
Definition at line 44 of file global_linear.h.
global_linear_0::global_linear_0 | ( | AlgoPos * | a, |
std::string | label | ||
) |
Definition at line 20 of file global_linear.cc.
global_linear_0::~global_linear_0 | ( | ) |
Definition at line 24 of file global_linear.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_linear.cc.
References AlgoImpl::err_, AlgoImpl::ParE_, query::result, and findQualityFiles::size.
|
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_linear.cc.
void global_linear_0::stream | ( | std::ostream & | os | ) | const |
Definition at line 84 of file global_linear.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 48 of file global_linear.cc.
References newFWLiteAna::base, funct::cos(), AlgoImpl::curr_, delta, evf::evtn::offset(), AlgoImpl::ParE_, phi, funct::sin(), and theta().