Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:40:19

0001 #ifndef DDL_RotationByAxis_H
0002 #define DDL_RotationByAxis_H
0003 
0004 #include <string>
0005 
0006 #include "DDXMLElement.h"
0007 #include "DetectorDescription/Core/interface/DDRotationMatrix.h"
0008 
0009 class DDCompactView;
0010 class DDLElementRegistry;
0011 
0012 ///  DDLRotationByAxis handles RotationByAxis elements
0013 /** @class DDLRotationByAxis
0014  * @author Michael Case
0015  *
0016  *  DDLRotationByAxis.h  -  description
0017  *  -------------------
0018  *  begin: Wed. Nov. 19, 2003
0019  *  email: case@ucdhep.ucdavis.edu
0020  *
0021  *
0022  *  This is the RotationByAxis element which rotates around an axis.
0023  *
0024  */
0025 class DDLRotationByAxis : public DDXMLElement {
0026 public:
0027   DDLRotationByAxis(DDLElementRegistry* myreg);
0028 
0029   void preProcessElement(const std::string& name, const std::string& nmspace, DDCompactView& cpv) override;
0030   void processElement(const std::string& name, const std::string& nmspace, DDCompactView& cpv) override;
0031 
0032   virtual DDRotationMatrix processOne(DDRotationMatrix R, std::string& axis, std::string& angle);
0033 
0034 private:
0035   std::string pNameSpace;
0036   std::string pName;
0037 };
0038 
0039 #endif