CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 
4 #include <vector>
9 
10 class DDAlgorithmHandler;
11 
13 class DDAlgorithm
14 {
15  friend class DDAlgorithmHandler;
16  public:
17  virtual ~DDAlgorithm (void);
19 
24  virtual void initialize(const DDNumericArguments & nArgs,
25  const DDVectorArguments & vArgs,
26  const DDMapArguments & mArgs,
27  const DDStringArguments & sArgs,
28  const DDStringVectorArguments & vsArgs)=0;
29 
31 
33  virtual void execute( DDCompactView& ) = 0;
34 
36  const DDLogicalPart & parent() const { return parent_; }
37 
38 protected:
40  void setParent(const DDLogicalPart & parent) { parent_ = parent; }
41 
44 };
45 
46 #endif // DD_ALGO_PLUGIN_DD_ALGORITHM_H
wrapper around a DDAlgorithm
list parent
Definition: dbtoconf.py:74
type of data representation of DDCompactView
Definition: DDCompactView.h:81
void initialize(const std::string &algoName, const DDLogicalPart &parent, const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &svArgs)
initializes the wrapped algorithm algo_ and does some pre- and post-processing
a std::map&lt;std::string,YourType&gt; that offers a const operator[key]; if key is not stored in the std::...
Definition: DDReadMapType.h:17
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:95
DDLogicalPart parent_
parent logical part