#include <DDAlgo.h>
Public Member Functions | |
int | copyno () const |
DDAlgo (const DDName &name) | |
DDAlgo () | |
int | end () const |
bool | go () const |
int | incr () const |
std::string | label () const |
void | next () |
const parE_type & | parE () const |
const parS_type & | parS () const |
DDRotationMatrix | rotation () |
void | setParameters (int start, int end, int incr, const parS_type &, const parE_type &) |
int | start () const |
DDTranslation | translation () |
Private Member Functions | |
DDAlgo (const DDName &, AlgoPos *) | |
Friends | |
DDAlgo | DDalgo (const DDName &, AlgoPos *) |
std::ostream & | operator<< (std::ostream &, const DDAlgo &) |
DDAlgo::DDAlgo | ( | ) |
Definition at line 24 of file DDAlgo.cc.
: DDBase<DDName,AlgoPos*>() { }
DDAlgo::DDAlgo | ( | const DDName & | name | ) |
Definition at line 28 of file DDAlgo.cc.
References DDI::Singleton< I >::instance(), and DDBase< DDName, AlgoPos * >::prep_.
: DDBase<DDName,AlgoPos*>() { prep_ = StoreT::instance().create(name); }
Definition at line 34 of file DDAlgo.cc.
References DDI::Singleton< I >::instance(), and DDBase< DDName, AlgoPos * >::prep_.
: DDBase<DDName,AlgoPos*>() { prep_ = StoreT::instance().create(name,a); }
int DDAlgo::copyno | ( | void | ) | const |
copy-number calculation
Definition at line 87 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
Referenced by label().
{ return rep().copyno(); }
int DDAlgo::end | ( | void | ) | const |
the 'end' parameter
Definition at line 54 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
{ return rep().end(); }
bool DDAlgo::go | ( | ) | const |
continue calling the algorithm unless go() returns false
Definition at line 108 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
Referenced by DDCompactView::algoPosPart().
{ return rep().go(); }
int DDAlgo::incr | ( | ) | const |
the 'incr' parameter
Definition at line 59 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
{ return rep().incr(); }
std::string DDAlgo::label | ( | ) | const |
copy-number delivered as std::string
Definition at line 94 of file DDAlgo.cc.
References copyno().
Referenced by DDCompactView::algoPosPart().
{ char buffer [50]; /*int n =*/ sprintf(buffer,"%d",copyno()); return std::string(buffer); }
void DDAlgo::next | ( | void | ) |
prepare the algorithm for its next iteration or set its state to 'terminate' in case all iterations have already been done
Definition at line 102 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
Referenced by DDCompactView::algoPosPart().
{ rep().next(); }
const parE_type & DDAlgo::parE | ( | ) | const |
double valued user parameter, values already evaluated from expressions
Definition at line 69 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
{ return rep().parE(); }
const parS_type & DDAlgo::parS | ( | ) | const |
std::string valued user parameter
Definition at line 64 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
{ return rep().parS(); }
DDRotationMatrix DDAlgo::rotation | ( | void | ) |
rotation calculations
Definition at line 81 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
Referenced by DDCompactView::algoPosPart().
{ return rep().rotation(); }
void DDAlgo::setParameters | ( | int | start, |
int | end, | ||
int | incr, | ||
const parS_type & | ps, | ||
const parE_type & | pe | ||
) |
sets user defined parameters
Definition at line 42 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
Referenced by DDLAlgoPosPart::processElement().
int DDAlgo::start | ( | ) | const |
the 'start' parameter
Definition at line 49 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
{ return rep().start(); }
DDTranslation DDAlgo::translation | ( | void | ) |
translation calculations
Definition at line 75 of file DDAlgo.cc.
References DDBase< DDName, AlgoPos * >::rep().
Referenced by DDCompactView::algoPosPart().
{ return rep().translation(); }
std::ostream& operator<< | ( | std::ostream & | os, |
const DDAlgo & | algo | ||
) | [friend] |
Definition at line 4 of file DDAlgo.cc.
{ DDBase<DDName,AlgoPos*>::def_type defined(algo.isDefined()); if (defined.first) { os << *(defined.first) << " "; if (defined.second) { algo.rep().stream(os); } else { os << "* algorithm not defined * "; } } else { os << "* algorithm not declared * "; } return os; }