CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DDLRotationAndReflection.h
Go to the documentation of this file.
1 #ifndef DDL_RotationAndReflection_H
2 #define DDL_RotationAndReflection_H
3 
4 // -------------------------------------------------------------------------
5 // Includes
6 // -------------------------------------------------------------------------
7 #include "DDXMLElement.h"
9 
10 #include <string>
11 
13 
26 {
27 public:
28 
31 
34 
36  int isLeftHanded( DD3Vector x, DD3Vector y, DD3Vector z, const std::string & nmspace );
37 
38  void processElement( const std::string& name, const std::string& nmspace, DDCompactView& cpv );
39 
40 private:
41 
42  DD3Vector makeX( std::string nmspace );
43  DD3Vector makeY( std::string nmspace );
44  DD3Vector makeZ( std::string nmspace );
45 };
46 #endif
void processElement(const std::string &name, const std::string &nmspace, DDCompactView &cpv)
Processing the element.
DD3Vector makeZ(std::string nmspace)
DD3Vector makeX(std::string nmspace)
DDLRotationAndReflection handles RotationCMSIM and ReflectionRotation elements.
type of data representation of DDCompactView
Definition: DDCompactView.h:77
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DD3Vector
A DD Translation is currently implemented with Root Vector3D.
Definition: DDTranslation.h:6
DD3Vector makeY(std::string nmspace)
DDLRotationAndReflection(DDLElementRegistry *myreg)
Constructor.
This is a base class for processing XML elements in the DDD.
Definition: DDXMLElement.h:58
~DDLRotationAndReflection(void)
Destructor.
The main class for processing parsed elements.
int isLeftHanded(DD3Vector x, DD3Vector y, DD3Vector z, const std::string &nmspace)
returns 1 = left handed rotation matrix, 0 = right-handed, -1 = not orthonormal.