CMS 3D CMS Logo

DDLRotationAndReflection.h
Go to the documentation of this file.
1 #ifndef DDL_RotationAndReflection_H
2 #define DDL_RotationAndReflection_H
3 
4 #include <string>
5 
6 #include "DDXMLElement.h"
8 
9 class DDCompactView;
10 class DDLElementRegistry;
11 
13 
25 class DDLRotationAndReflection final : public DDXMLElement {
26 public:
28 
30  int isLeftHanded(const DD3Vector& x, const DD3Vector& y, const DD3Vector& z, const std::string& nmspace);
31 
32  void processElement(const std::string& name, const std::string& nmspace, DDCompactView& cpv) override;
33 
34 private:
35  DD3Vector makeX(const std::string& nmspace);
36  DD3Vector makeY(const std::string& nmspace);
37  DD3Vector makeZ(const std::string& nmspace);
38 };
39 
40 #endif
DDLRotationAndReflection::isLeftHanded
int isLeftHanded(const DD3Vector &x, const DD3Vector &y, const DD3Vector &z, const std::string &nmspace)
returns 1 = left handed rotation matrix, 0 = right-handed, -1 = not orthonormal.
Definition: DDLRotationAndReflection.cc:79
DDAxes::y
DDLRotationAndReflection::DDLRotationAndReflection
DDLRotationAndReflection(DDLElementRegistry *myreg)
Definition: DDLRotationAndReflection.cc:22
DDLElementRegistry
The main class for processing parsed elements.
Definition: DDLElementRegistry.h:23
DDLRotationAndReflection::makeX
DD3Vector makeX(const std::string &nmspace)
Definition: DDLRotationAndReflection.cc:115
DDAxes::x
DD3Vector
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DD3Vector
A DD Translation is currently implemented with Root Vector3D.
Definition: DDTranslation.h:6
DDLRotationAndReflection
DDLRotationAndReflection handles RotationCMSIM and ReflectionRotation elements.
Definition: DDLRotationAndReflection.h:25
DDCompactView
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
DDLRotationAndReflection::makeY
DD3Vector makeY(const std::string &nmspace)
Definition: DDLRotationAndReflection.cc:130
DDAxes::z
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DDXMLElement
This is a base class for processing XML elements in the DDD.
Definition: DDXMLElement.h:48
DDTranslation.h
DDXMLElement.h
DDLRotationAndReflection::makeZ
DD3Vector makeZ(const std::string &nmspace)
Definition: DDLRotationAndReflection.cc:146
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
DDLRotationAndReflection::processElement
void processElement(const std::string &name, const std::string &nmspace, DDCompactView &cpv) override
Processing the element.
Definition: DDLRotationAndReflection.cc:24