CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DetectorDescription/Algorithm/src/global_angular.h

Go to the documentation of this file.
00001 
00002 // FILE IS GENERATED. DON'T MODIFY!
00003 // source: global.xml
00004 #ifndef DDAlgorithm_global_angular_h
00005 #define DDAlgorithm_global_angular_h
00006 
00007 #include "DetectorDescription/ExprAlgo/interface/AlgoImpl.h"
00008 //#include "CLHEP/Units/GlobalSystemOfUnits.h"
00009 // I tried the following on CERN lxplus and still no MAX_DOUBLE was defined.
00010 // so I tried DBL_MAX which does exist, but I do not know the source of this.
00011 // So, in keeping with everything else I saw:
00012 #define MAX_DOUBLE DBL_MAX
00013 //#include <climits>
00014 //#include <cfloat>
00015 
00016 #include <iostream>
00017 #include <vector>
00018 #include <string>
00019 
00035 //divrange// each algorithm implementation is suffixed by _n, n=0,1,2,...
00036 class global_angular_0 : public AlgoImpl
00037 {
00038 public:
00039   global_angular_0(AlgoPos*,std::string label);
00040   ~global_angular_0();
00041   
00042   bool checkParameters();
00043   
00044   DDTranslation translation();
00045   
00046   DDRotationMatrix  rotation();
00047   
00048   int copyno() const;
00049   void checkTermination();
00050 // no XML counterpart, but usefull.
00051   void stream(std::ostream  &) const;
00052   
00053   // parameters according to XML-attribute 'name' in <Parameter> tags 
00054   std::vector<double> rotate_, center_, rotateSolid_;
00055   bool alignSolid_;
00056   int n_,startCopyNo_,incrCopyNo_;
00057   double startAngle_, rangeAngle_, radius_;
00058   double delta_; // angular distance between two placements
00059   DDRotationMatrix solidRot_; // rotation of the solid
00060   DDRotationMatrix planeRot_; // rotation of the plane
00061 };
00062 
00063 
00064 /**************************************************************************
00065  
00066  The following Code gets only generated IF the code-generator
00067  has the capability of generating evaluation/checking code for
00068  the specification of the parameters in the algorithm XML.
00069  
00070  If the following is not generated, there will be not automatic
00071  checking of the basic properties of the user-supplied parameters
00072  (bounds, occurences, default values, ...)
00073  
00074 ***************************************************************************/
00075 
00076 #include "DetectorDescription/ExprAlgo/interface/AlgoCheck.h"
00077 
00078 class global_angular_Check : public AlgoCheck
00079 {
00080 public:
00081   // only ctor-code is generated!
00082   global_angular_Check();
00083   ~global_angular_Check() { };
00084 };
00085 
00086 #endif
00087 
00088