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