CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DDTransform.h
Go to the documentation of this file.
1 #ifndef DDTransform_h
2 #define DDTransform_h
3 
8 //#include "DetectorDescription/Base/interface/DDTranslation.h"
9 
10 class DDRotation;
11 
12 std::ostream & operator<<(std::ostream &, const DDRotation &);
14 
18 DDRotation DDrot(const DDName & name,
20 
22 
24 DDRotation DDrot(const DDName & name,
25  double thetaX, double phiX,
26  double thetaY, double phiY,
27  double thetaZ, double phiZ);
28 
29 
31 
35  double thetaX, double phiX,
36  double thetaY, double phiY,
37  double thetaZ, double phiZ);
38 
39 
42 
43 
45 
50 
52 
55 DDRotationMatrix * DDcreateRotationMatrix(double thetaX, double phiX,
56  double thetaY, double phiY,
57  double thetaZ, double phiZ);
58 
60 
66 class DDRotation : public DDBase<DDName,DDRotationMatrix*>
67 {
68  friend std::ostream & operator<<(std::ostream &, const DDRotation &);
69  friend DDRotation DDrot(const DDName &, DDRotationMatrix *);
70  friend DDRotation DDrotReflect(const DDName&,double,double,double,double,double,double);
72 public:
74  DDRotation();
75 
77 
86  DDRotation(const DDName & name);
87 
90  const DDRotationMatrix * rotation() const { return &(rep()); }
91 
92  DDRotationMatrix * rotation() { return &(rep()); }
93 
94  DDRotationMatrix * matrix() { return rotation(); }
95  //DDRotationMatrix* unit();
96 
97 /* static void clear(); */
98 private:
100 };
101 
102 
103 
104 #endif
Definition: DDBase.h:10
const DDRotationMatrix * rotation() const
Returns the read-only rotation-matrix.
Definition: DDTransform.h:90
const DDI::rep_traits< DDName, DDRotationMatrix * >::reference rep() const
Definition: DDBase.h:84
DDRotationMatrix * rotation()
Definition: DDTransform.h:92
const DDName & name() const
Definition: DDBase.h:78
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:18
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
DDRotation DDanonymousRot(DDRotationMatrix *rot)
Defines a anonymous rotation or rotation-reflection matrix.
Definition: DDRotation.cc:194
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:66
DDRotation DDrotReflect(const DDName &name, double thetaX, double phiX, double thetaY, double phiY, double thetaZ, double phiZ)
Defines a rotation-reflection in the Geant3 way.
Definition: DDRotation.cc:135
friend DDRotation DDrotReflect(const DDName &, double, double, double, double, double, double)
Defines a rotation-reflection in the Geant3 way.
Definition: DDRotation.cc:135
DDRotation DDrot(const DDName &name, DDRotationMatrix *rot)
Definition of a uniquely identifiable rotation matrix named by DDName name.
Definition: DDRotation.cc:90
friend DDRotation DDrot(const DDName &, DDRotationMatrix *)
Definition of a uniquely identifiable rotation matrix named by DDName name.
Definition: DDRotation.cc:90
friend std::ostream & operator<<(std::ostream &, const DDRotation &)
Definition: DDRotation.cc:20
friend DDRotation DDanonymousRot(DDRotationMatrix *)
Defines a anonymous rotation or rotation-reflection matrix.
Definition: DDRotation.cc:194
DDRotation()
refers to the unit-rotation (no rotation at all)
Definition: DDRotation.cc:44
DDRotationMatrix * matrix()
Definition: DDTransform.h:94
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
DDRotationMatrix * DDcreateRotationMatrix(double thetaX, double phiX, double thetaY, double phiY, double thetaZ, double phiZ)
create a new DDRotationMatrix in the GEANT3 style.
Definition: DDRotation.cc:165