00001 #ifndef DDL_RotationAndReflection_H 00002 #define DDL_RotationAndReflection_H 00003 00004 // ------------------------------------------------------------------------- 00005 // Includes 00006 // ------------------------------------------------------------------------- 00007 #include "DDXMLElement.h" 00008 #include "DetectorDescription/Base/interface/DDTranslation.h" 00009 00010 #include <string> 00011 00013 00025 class DDLRotationAndReflection : public DDXMLElement 00026 { 00027 public: 00028 00030 DDLRotationAndReflection( DDLElementRegistry* myreg ); 00031 00033 ~DDLRotationAndReflection( void ); 00034 00036 int isLeftHanded( DD3Vector x, DD3Vector y, DD3Vector z, const std::string & nmspace ); 00037 00038 void processElement( const std::string& name, const std::string& nmspace, DDCompactView& cpv ); 00039 00040 private: 00041 00042 DD3Vector makeX( std::string nmspace ); 00043 DD3Vector makeY( std::string nmspace ); 00044 DD3Vector makeZ( std::string nmspace ); 00045 }; 00046 #endif