CMS 3D CMS Logo

DDTransform.h
Go to the documentation of this file.
1 #ifndef DDTransform_h
2 #define DDTransform_h
3 
7 
8 class DDRotation;
9 
10 std::ostream & operator<<(std::ostream &, const DDRotation &);
12 
16 DDRotation DDrot(const DDName & name,
18 
20 
22 DDRotation DDrot(const DDName & name,
23  double thetaX, double phiX,
24  double thetaY, double phiY,
25  double thetaZ, double phiZ);
26 
27 
29 
33  double thetaX, double phiX,
34  double thetaY, double phiY,
35  double thetaZ, double phiZ);
36 
37 
40 
41 
43 
48 
50 
53 DDRotationMatrix * DDcreateRotationMatrix(double thetaX, double phiX,
54  double thetaY, double phiY,
55  double thetaZ, double phiZ);
56 
58 
64 class DDRotation : public DDBase<DDName,DDRotationMatrix*>
65 {
66  friend std::ostream & operator<<(std::ostream &, const DDRotation &);
67  friend DDRotation DDrot(const DDName &, DDRotationMatrix *);
68  friend DDRotation DDrotReflect(const DDName&,double,double,double,double,double,double);
70 public:
72  DDRotation();
73 
75 
84  DDRotation(const DDName & name);
85 
88  const DDRotationMatrix * rotation() const { return &(rep()); }
89 
90  DDRotationMatrix * rotation() { return &(rep()); }
91 
92  DDRotationMatrix * matrix() { return rotation(); }
93 
94 private:
96 };
97 
98 #endif
Definition: DDBase.h:10
const DDRotationMatrix * rotation() const
Returns the read-only rotation-matrix.
Definition: DDTransform.h:88
const DDI::rep_traits< DDName, DDRotationMatrix * >::reference rep() const
Definition: DDBase.h:84
DDRotationMatrix * rotation()
Definition: DDTransform.h:90
const DDName & name() const
Definition: DDBase.h:78
std::ostream & operator<<(std::ostream &, const DDRotation &)
Definition: DDRotation.cc:21
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
DDRotation DDanonymousRot(DDRotationMatrix *rot)
Defines a anonymous rotation or rotation-reflection matrix.
Definition: DDRotation.cc:187
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:64
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:131
friend DDRotation DDrotReflect(const DDName &, double, double, double, double, double, double)
Defines a rotation-reflection in the Geant3 way.
Definition: DDRotation.cc:131
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:21
friend DDRotation DDanonymousRot(DDRotationMatrix *)
Defines a anonymous rotation or rotation-reflection matrix.
Definition: DDRotation.cc:187
DDRotation()
refers to the unit-rotation (no rotation at all)
Definition: DDRotation.cc:44
DDRotationMatrix * matrix()
Definition: DDTransform.h:92
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:158