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 
11 
12 class DDAlgo;
13 class AlgoPos;
14 
15 std::ostream & operator<<(std::ostream &, const DDAlgo &);
16 
17 class DDAlgo : public DDBase<DDName,AlgoPos*>
18 {
19 friend DDAlgo DDalgo(const DDName &, AlgoPos*);
20 friend std::ostream & operator<<(std::ostream &, const DDAlgo &);
21 
22 public:
23  DDAlgo();
24 
25  DDAlgo(const DDName & name);
26 
28  void setParameters(int start, int end, int incr,
29  const parS_type &, const parE_type &);
30 
31  /* completenes and consistency check for algorithm parameters */
32  //bool checkParameters() const;
33 
36 
39 
41  int copyno() const;
42 
44  std::string label() const;
45 
48  void next();
49 
51  bool go() const;
52 
54  int start() const;
55 
57  int end() const;
58 
60  int incr() const;
61 
63  const parS_type & parS() const;
64 
66  const parE_type & parE() const;
67 
68 private:
69  DDAlgo(const DDName &, AlgoPos*);
70 
71 };
72 
74 DDAlgo DDalgo(const DDName &, AlgoPos*);
75 #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:17
const parE_type & parE() const
Definition: DDAlgo.cc:69
std::map< std::string, std::vector< std::string > > parS_type
Definition: DDAlgoPar.h:9
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
friend std::ostream & operator<<(std::ostream &, const DDAlgo &)
Definition: DDAlgo.cc:4
std::map< std::string, std::vector< double > > parE_type
Definition: DDAlgoPar.h:12
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.
int end() const
Definition: DDAlgo.cc:54