CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
global_angular.h
Go to the documentation of this file.
1 
2 // FILE IS GENERATED. DON'T MODIFY!
3 // source: global.xml
4 #ifndef DDAlgorithm_global_angular_h
5 #define DDAlgorithm_global_angular_h
6 
8 //#include "CLHEP/Units/GlobalSystemOfUnits.h"
9 // I tried the following on CERN lxplus and still no MAX_DOUBLE was defined.
10 // so I tried DBL_MAX which does exist, but I do not know the source of this.
11 // So, in keeping with everything else I saw:
12 #define MAX_DOUBLE DBL_MAX
13 //#include <climits>
14 //#include <cfloat>
15 
16 #include <iostream>
17 #include <vector>
18 #include <string>
19 
35 //divrange// each algorithm implementation is suffixed by _n, n=0,1,2,...
36 class global_angular_0 : public AlgoImpl
37 {
38 public:
41 
42  bool checkParameters();
43 
45 
47 
48  int copyno() const;
49  void checkTermination();
50 // no XML counterpart, but usefull.
51  void stream(std::ostream &) const;
52 
53  // parameters according to XML-attribute 'name' in <Parameter> tags
54  std::vector<double> rotate_, center_, rotateSolid_;
58  double delta_; // angular distance between two placements
59  DDRotationMatrix solidRot_; // rotation of the solid
60  DDRotationMatrix planeRot_; // rotation of the plane
61 };
62 
63 
64 /**************************************************************************
65 
66  The following Code gets only generated IF the code-generator
67  has the capability of generating evaluation/checking code for
68  the specification of the parameters in the algorithm XML.
69 
70  If the following is not generated, there will be not automatic
71  checking of the basic properties of the user-supplied parameters
72  (bounds, occurences, default values, ...)
73 
74 ***************************************************************************/
75 
77 
79 {
80 public:
81  // only ctor-code is generated!
84 };
85 
86 #endif
87 
88 
void checkTermination()
for algorithms with incr_==0 the algorithm must check whether to terminate
base class for generated checking code for algorithm parameters.
Definition: AlgoCheck.h:10
DDRotationMatrix planeRot_
class for algorithmic positioning, represents an algorithm
Definition: AlgoPos.h:27
std::vector< double > rotateSolid_
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
DDTranslation translation()
subclass must calculate a translation std::vector
implementation of an algorithm, non generated checking code.
Definition: AlgoImpl.h:19
int copyno() const
copy-number calculation
std::vector< double > rotate_
std::vector< double > center_
global_angular_0(AlgoPos *, std::string label)
void stream(std::ostream &) const
DDRotationMatrix rotation()
subclass must calculate a rotation matrix
DDRotationMatrix solidRot_
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
bool checkParameters()
subclass must check the supplied parameters ParE_, ParS_