CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Friends
DDAlgo Class Reference

#include <DDAlgo.h>

Inheritance diagram for DDAlgo:
DDBase< DDName, AlgoPos * >

Public Member Functions

int copyno () const
 
 DDAlgo ()
 
 DDAlgo (const DDName &name)
 
int end () const
 
bool go () const
 
int incr () const
 
std::string label () const
 
void next ()
 
const parE_typeparE () const
 
const parS_typeparS () const
 
DDRotationMatrix rotation ()
 
void setParameters (int start, int end, int incr, const parS_type &, const parE_type &)
 
int start () const
 
DDTranslation translation ()
 
- Public Member Functions inherited from DDBase< DDName, AlgoPos * >
 DDBase ()
 
const DDNameddname () const
 
def_type isDefined () const
 
bool isValid () const
 true, if the wrapped pointer is valid More...
 
const DDNamename () const
 
 operator bool () const
 
bool operator< (const DDBase &b) const
 
bool operator== (const DDBase &b) const
 
bool operator> (const DDBase &b) const
 
const DDI::rep_traits< DDName,
AlgoPos * >::reference 
rep () const
 
DDI::rep_traits< DDName,
AlgoPos * >::reference 
rep ()
 
std::string toString () const
 
const DDI::rep_traits< DDName,
AlgoPos * >::reference 
val () const
 
const DDI::rep_traits< DDName,
AlgoPos * >::reference 
val ()
 
virtual ~DDBase ()
 

Private Member Functions

 DDAlgo (const DDName &, AlgoPos *)
 

Friends

DDAlgo DDalgo (const DDName &, AlgoPos *)
 
std::ostream & operator<< (std::ostream &, const DDAlgo &)
 

Additional Inherited Members

- Public Types inherited from DDBase< DDName, AlgoPos * >
typedef std::pair< const
DDName *, bool > 
def_type
 
typedef AlgoPospimpl_type
 
typedef DDI::rep_type< DDName,
pimpl_type > * 
prep_type
 
typedef DDI::Singleton
< DDI::Store< DDName, AlgoPos * > > 
StoreT
 
- Static Public Member Functions inherited from DDBase< DDName, AlgoPos * >
static DDI::Store< DDName,
AlgoPos * >::iterator 
begin ()
 
static void clear ()
 
static DDI::Store< DDName,
AlgoPos * >::iterator 
end ()
 
static size_t size ()
 
- Protected Attributes inherited from DDBase< DDName, AlgoPos * >
prep_type prep_
 

Detailed Description

Definition at line 21 of file DDAlgo.h.

Constructor & Destructor Documentation

DDAlgo::DDAlgo ( )

Definition at line 27 of file DDAlgo.cc.

DDAlgo::DDAlgo ( const DDName name)

Definition at line 31 of file DDAlgo.cc.

References DDI::Singleton< I >::instance(), and DDBase< DDName, AlgoPos * >::prep_.

32 {
33  prep_ = StoreT::instance().create(name);
34 }
static value_type & instance()
DDAlgo::DDAlgo ( const DDName name,
AlgoPos a 
)
private

Definition at line 37 of file DDAlgo.cc.

References DDI::Singleton< I >::instance(), and DDBase< DDName, AlgoPos * >::prep_.

38 
39 {
40  prep_ = StoreT::instance().create(name,a);
41 }
static value_type & instance()

Member Function Documentation

int DDAlgo::copyno ( void  ) const

copy-number calculation

Definition at line 90 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

Referenced by label().

91 {
92  return rep().copyno();
93 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
int DDAlgo::end ( void  ) const

the 'end' parameter

Definition at line 57 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

58 {
59  return rep().end();
60 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
bool DDAlgo::go ( ) const

continue calling the algorithm unless go() returns false

Definition at line 111 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

Referenced by DDCompactView::algoPosPart().

112 {
113  return rep().go();
114 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
int DDAlgo::incr ( ) const

the 'incr' parameter

Definition at line 62 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

63 {
64  return rep().incr();
65 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
std::string DDAlgo::label ( ) const
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 105 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

Referenced by DDCompactView::algoPosPart().

106 {
107  rep().next();
108 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
const parE_type & DDAlgo::parE ( ) const

double valued user parameter, values already evaluated from expressions

Definition at line 72 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

73 {
74  return rep().parE();
75 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
const parS_type & DDAlgo::parS ( ) const

std::string valued user parameter

Definition at line 67 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

68 {
69  return rep().parS();
70 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
DDRotationMatrix DDAlgo::rotation ( void  )

rotation calculations

Definition at line 84 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

Referenced by DDCompactView::algoPosPart().

85 {
86  return rep().rotation();
87 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
void DDAlgo::setParameters ( int  start,
int  end,
int  incr,
const parS_type ps,
const parE_type pe 
)

sets user defined parameters

Definition at line 45 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

Referenced by DDLAlgoPosPart::processElement().

47 {
48  rep().setParameters(start, end, incr, ps, pe);
49 }
int start() const
Definition: DDAlgo.cc:52
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
int incr() const
Definition: DDAlgo.cc:62
int end() const
Definition: DDAlgo.cc:57
int DDAlgo::start ( ) const

the 'start' parameter

Definition at line 52 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

53 {
54  return rep().start();
55 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95
DDTranslation DDAlgo::translation ( void  )

translation calculations

Definition at line 78 of file DDAlgo.cc.

References DDBase< DDName, AlgoPos * >::rep().

Referenced by DDCompactView::algoPosPart().

79 {
80  return rep().translation();
81 }
const DDI::rep_traits< DDName, AlgoPos * >::reference rep() const
Definition: DDBase.h:95

Friends And Related Function Documentation

DDAlgo DDalgo ( const DDName n,
AlgoPos a 
)
friend

create a DDCore compatible algorithm

Definition at line 117 of file DDAlgo.cc.

118 {
119  return DDAlgo(n,a);
120 }
DDAlgo()
Definition: DDAlgo.cc:27
std::ostream& operator<< ( std::ostream &  os,
const DDAlgo algo 
)
friend

Definition at line 7 of file DDAlgo.cc.

8 {
10  if (defined.first) {
11  os << *(defined.first) << " ";
12  if (defined.second) {
13  algo.rep().stream(os);
14  }
15  else {
16  os << "* algorithm not defined * ";
17  }
18  }
19  else {
20  os << "* algorithm not declared * ";
21  }
22  return os;
23 
24 }
Definition: DDBase.h:18
const DDI::rep_traits< N, C >::reference rep() const
Definition: DDBase.h:95
def_type isDefined() const
Definition: DDBase.h:121