CMS 3D CMS Logo

DDLinear.h
Go to the documentation of this file.
1 #ifndef ALGORITHM_DD_LINEAR_H
2 # define ALGORITHM_DD_LINEAR_H
3 
4 #include <string>
5 #include <utility>
6 #include <vector>
7 
10 
11 class DDCompactView;
12 
13 class DDLinear : public DDAlgorithm
14 {
15 public:
16  DDLinear( void );
17  ~DDLinear( void ) override;
18 
19  void initialize( const DDNumericArguments & nArgs,
20  const DDVectorArguments & vArgs,
21  const DDMapArguments & mArgs,
22  const DDStringArguments & sArgs,
23  const DDStringVectorArguments & vsArgs ) override;
24 
25  void execute( DDCompactView& cpv ) override;
26 
27 private:
28  int m_n; //Number of copies
29  int m_startCopyNo; //Start Copy number
30  int m_incrCopyNo; //Increment in Copy number
31  double m_theta; //Theta
32  double m_phi; //Phi dir[Theta,Phi] ... unit-std::vector in direction Theta, Phi
33  // double m_offset; //Offset - an offset distance in direction dir(Theta,Phi)
34  // FIXME: Understand if the offset is needed.
35  double m_delta; //Delta - distance between two subsequent positions along dir[Theta,Phi]
36  std::vector<double> m_base; //Base values - a 3d-point where the offset is calculated from
37  //base is optional, if omitted base=(0,0,0)
38  std::pair<std::string, std::string> m_childNmNs; //Child name
39  //Namespace of the child
40 };
41 
42 #endif // ALGORITHM_DD_LINEAR_H
int m_startCopyNo
Definition: DDLinear.h:29
double m_phi
Definition: DDLinear.h:32
int m_incrCopyNo
Definition: DDLinear.h:30
double m_delta
Definition: DDLinear.h:35
void execute(DDCompactView &cpv) override
Definition: DDLinear.cc:69
type of data representation of DDCompactView
Definition: DDCompactView.h:90
std::pair< std::string, std::string > m_childNmNs
Definition: DDLinear.h:38
double m_theta
Definition: DDLinear.h:31
DDLinear(void)
Definition: DDLinear.cc:19
int m_n
Definition: DDLinear.h:28
std::vector< double > m_base
Definition: DDLinear.h:36
~DDLinear(void) override
Definition: DDLinear.cc:30
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
Definition: DDLinear.cc:34