CMS 3D CMS Logo

DDHCalTBCableAlgo.h
Go to the documentation of this file.
1 #ifndef HcalAlgo_DDHCalTBCableAlgo_h
2 #define HcalAlgo_DDHCalTBCableAlgo_h
3 
4 #include <map>
5 #include <string>
6 #include <vector>
9 
10 class DDHCalTBCableAlgo : public DDAlgorithm {
11  public:
12  //Constructor and Destructor
13  DDHCalTBCableAlgo(); //const std::string & name);
14  ~DDHCalTBCableAlgo() override;
15 
16  void initialize(const DDNumericArguments & nArgs,
17  const DDVectorArguments & vArgs,
18  const DDMapArguments & mArgs,
19  const DDStringArguments & sArgs,
20  const DDStringVectorArguments & vsArgs) override;
21 
22  void execute(DDCompactView& cpv) override;
23 
24 private:
25 
26  std::string genMat; //General material
27  int nsectors; //Number of potenital straight edges
28  int nsectortot; //Number of straight edges (actual)
29  int nhalf; //Number of half modules
30  double rin; //(see Figure of hcalbarrel)
31  std::vector<double> theta; // .... (in degrees)
32  std::vector<double> rmax; // ....
33  std::vector<double> zoff; // ....
34  std::string absMat; //Absorber material
35  double thick; //Thickness of absorber
36  double width1, length1; //Width, length of absorber type 1
37  double width2, length2; //Width, length of absorber type 2
38  double gap2; //Gap between abosrbers of type 2
39 
40  std::string idName; //Name of the "parent" volume.
41  std::string idNameSpace; //Namespace of this and ALL sub-parts
42  std::string rotns; //Namespace for rotation matrix
43 };
44 
45 #endif
std::vector< double > theta
std::vector< double > rmax
type of data representation of DDCompactView
Definition: DDCompactView.h:90
void execute(DDCompactView &cpv) override
~DDHCalTBCableAlgo() override
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
std::vector< double > zoff
std::string idNameSpace