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 
26 {
27  public:
28 
30 
32  int isLeftHanded( DD3Vector x, DD3Vector y, DD3Vector z, const std::string & nmspace );
33 
34  void processElement( const std::string& name, const std::string& nmspace, DDCompactView& cpv ) override;
35 
36 private:
37 
38  DD3Vector makeX( std::string nmspace );
39  DD3Vector makeY( std::string nmspace );
40  DD3Vector makeZ( std::string nmspace );
41 };
42 
43 #endif
DD3Vector makeZ(std::string nmspace)
DD3Vector makeX(std::string nmspace)
void processElement(const std::string &name, const std::string &nmspace, DDCompactView &cpv) override
Processing the element.
DDLRotationAndReflection handles RotationCMSIM and ReflectionRotation elements.
type of data representation of DDCompactView
Definition: DDCompactView.h:90
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)
This is a base class for processing XML elements in the DDD.
Definition: DDXMLElement.h:48
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.