CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DDAlgorithm.h
Go to the documentation of this file.
1 #ifndef DD_ALGO_PLUGIN_DD_ALGORITHM_H
2 #define DD_ALGO_PLUGIN_DD_ALGORITHM_H
3 
7 #include <vector>
8 
10 class DDCompactView;
11 
13 class DDAlgorithm {
14  friend class DDAlgorithmHandler;
15 
16 public:
17  virtual ~DDAlgorithm() {}
18 
20 
25  virtual void initialize(const DDNumericArguments& nArgs,
26  const DDVectorArguments& vArgs,
27  const DDMapArguments& mArgs,
28  const DDStringArguments& sArgs,
29  const DDStringVectorArguments& vsArgs) = 0;
30 
32 
34  virtual void execute(DDCompactView&) = 0;
35 
36 protected:
38  const DDLogicalPart& parent() const { return parent_; }
39 
41  void setParent(const DDLogicalPart& parent) { parent_ = parent; }
42 
43 private:
45  DDLogicalPart parent_;
46 };
47 
48 #endif // DD_ALGO_PLUGIN_DD_ALGORITHM_H
static AlgebraicMatrix initialize()
void execute(DDCompactView &)
executes the wrapped algorithm algo_; some pre- and post-processing (exception handling) ...
wrapper around a DDAlgorithm
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:81
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:93