CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DDAlgo.h
Go to the documentation of this file.
1 #ifndef DDAlgo_h
2 #define DDAlgo_h
3 
4 #include <iostream>
5 //#include "DetectorDescription/Core/interface/DDRegistered.h"
10 
11 // Let's take AlgoPos to be the implementation class of DDAlgo-interface
12 //#include "DetectorDescription/ExprAlgo/interface/AlgoPos.h"
14 
15 class DDAlgo;
16 class AlgoPos;
17 //namespace DDI { class DDAlgoPos; }
18 
19 std::ostream & operator<<(std::ostream &, const DDAlgo &);
20 
21 class DDAlgo : public DDBase<DDName,AlgoPos*>
22 {
23 friend DDAlgo DDalgo(const DDName &, AlgoPos*);
24 friend std::ostream & operator<<(std::ostream &, const DDAlgo &);
25 
26 public:
27  DDAlgo();
28 
29  DDAlgo(const DDName & name);
30 
32  void setParameters(int start, int end, int incr,
33  const parS_type &, const parE_type &);
34 
35  /* completenes and consistency check for algorithm parameters */
36  //bool checkParameters() const;
37 
40 
43 
45  int copyno() const;
46 
48  std::string label() const;
49 
52  void next();
53 
55  bool go() const;
56 
58  int start() const;
59 
61  int end() const;
62 
64  int incr() const;
65 
67  const parS_type & parS() const;
68 
70  const parE_type & parE() const;
71 
72 /* static void clear(); */
73 private:
74  DDAlgo(const DDName &, AlgoPos*);
75 
76 };
77 
79 DDAlgo DDalgo(const DDName &, AlgoPos*);
80 #endif
Definition: DDBase.h:14
int start() const
Definition: DDAlgo.cc:49
void next()
Definition: DDAlgo.cc:102
const DDName & name() const
Definition: DDBase.h:82
class for algorithmic positioning, represents an algorithm
Definition: AlgoPos.h:27
DDAlgo()
Definition: DDAlgo.cc:24
const parS_type & parS() const
Definition: DDAlgo.cc:64
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:18
Definition: DDAlgo.h:21
const parE_type & parE() const
Definition: DDAlgo.cc:69
bool go() const
Definition: DDAlgo.cc:108
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
DDAlgo DDalgo(const DDName &, AlgoPos *)
Definition: DDAlgo.cc:114
int copyno() const
Definition: DDAlgo.cc:87
DDRotationMatrix rotation()
Definition: DDAlgo.cc:81
std::map< std::string, std::vector< std::string > > parS_type
Definition: DDAlgoPar.h:9
friend std::ostream & operator<<(std::ostream &, const DDAlgo &)
Definition: DDAlgo.cc:4
friend DDAlgo DDalgo(const DDName &, AlgoPos *)
Definition: DDAlgo.cc:114
int incr() const
Definition: DDAlgo.cc:59
std::string label() const
Definition: DDAlgo.cc:94
DDTranslation translation()
Definition: DDAlgo.cc:75
void setParameters(int start, int end, int incr, const parS_type &, const parE_type &)
Definition: DDAlgo.cc:42
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
std::map< std::string, std::vector< double > > parE_type
Definition: DDAlgoPar.h:12
int end() const
Definition: DDAlgo.cc:54