CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
AlgoInit.cc File Reference
#include "DetectorDescription/Algorithm/src/AlgoInit.h"
#include "DetectorDescription/Core/interface/DDAlgo.h"
#include "DetectorDescription/ExprAlgo/interface/AlgoPos.h"
#include "global_linear.h"
#include "global_angular.h"
#include "global_simpleAngular.h"
#include "DetectorDescription/Algorithm/src/presh_detectors.h"

Go to the source code of this file.

Functions

void AlgoInit ()
 

Function Documentation

void AlgoInit ( )

Definition at line 28 of file AlgoInit.cc.

References DDalgo().

Referenced by DDLParser::DDLParser(), output(), regressionTest_first(), and testParser().

29 {
30  static bool isInit = false;
31  if (isInit) return;
32  isInit = true;
33 
34  // placeholder pointer
35  AlgoPos * algo = 0;
36 
37  // generated:
38  // for each <Algorithm> in each ADL-instance the code generator has to provide code
39  // similar to that below ...
40 
41  // create the representation of the algorithm
42 
43 
44  algo = new AlgoPos(new global_linear_Check);
45  // create the implementations of the algorithm & register them with the representation
46 
47 
48  new global_linear_0(algo,"base in the input parameters");
49 
50 
51  new global_linear_1(algo,"without base in input parameters");
52 
53 
54  // register the representation at DDCore
55  DDalgo(DDName("linear", "global"), algo);
56 
57 
58  algo = new AlgoPos(new global_angular_Check);
59  // create the implementations of the algorithm & register them with the representation
60 
61 
62  new global_angular_0(algo,"divrange");
63 
64 
65  // register the representation at DDCore
66  DDalgo(DDName("angular", "global"), algo);
67 
68 
69  algo = new AlgoPos(new global_simpleAngular_Check);
70  // create the implementations of the algorithm & register them with the representation
71 
72 
73  new global_simpleAngular_0(algo,"number no delta");
74 
75 
76  new global_simpleAngular_1(algo,"delta no number");
77 
78 
79  new global_simpleAngular_2(algo,"delta AND number");
80 
81 
82  // register the representation at DDCore
83  DDalgo(DDName("simpleAngular", "global"), algo);
84 
85 }
class for algorithmic positioning, represents an algorithm
Definition: AlgoPos.h:27
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:18
DDAlgo DDalgo(const DDName &, AlgoPos *)
Definition: DDAlgo.cc:117