CMS 3D CMS Logo

DDTBH4Algo.h
Go to the documentation of this file.
1 #ifndef EcalTestBeam_DDTBH4Algo_h
2 #define EcalTestBeam_DDTBH4Algo_h
3 
4 #include <map>
5 #include <string>
6 #include <vector>
11 
12 //CLHEP
13 #include <CLHEP/Geometry/Transform3D.h>
14 
15 class DDTBH4Algo : public DDAlgorithm {
16 public:
17  //Constructor and Destructor
18  DDTBH4Algo();
19  ~DDTBH4Algo() override;
20 
21  void initialize(const DDNumericArguments& nArgs,
22  const DDVectorArguments& vArgs,
23  const DDMapArguments& mArgs,
24  const DDStringArguments& sArgs,
25  const DDStringVectorArguments& vsArgs) override;
26 
27  void execute(DDCompactView& cpv) override;
28 
29  DDMaterial ddmat(const std::string& s) const;
30  DDName ddname(const std::string& s) const;
31  DDRotation myrot(const std::string& s, const CLHEP::HepRotation& r) const;
32 
33  const std::string& idNameSpace() const { return m_idNameSpace; }
34 
35  double blZBeg() const { return m_BLZBeg; }
36  double blZEnd() const { return m_BLZEnd; }
37  double blZPiv() const { return m_BLZPiv; }
38  double blRadius() const { return m_BLRadius; }
39  std::string vacName() const { return m_VacName; }
40  DDMaterial vacMat() const { return ddmat(m_VacMat); }
41  const std::vector<double>& vecVacZBeg() const { return m_vecVacZBeg; }
42  const std::vector<double>& vecVacZEnd() const { return m_vecVacZEnd; }
43  std::string winName() const { return m_WinName; }
44  const std::vector<std::string>& vecWinMat() const { return m_vecWinMat; }
45  const std::vector<double>& vecWinZBeg() const { return m_vecWinZBeg; }
46  const std::vector<double>& vecWinThick() const { return m_vecWinThick; }
47 
48  DDMaterial trgMat() const { return ddmat(m_TrgMat); }
49  DDMaterial holeMat() const { return ddmat(m_HoleMat); }
50  double trgVetoHoleRadius() const { return m_TrgVetoHoleRadius; }
51  const std::vector<std::string>& vecTrgName() const { return m_vecTrgName; }
52  const std::vector<double>& vecTrgSide() const { return m_vecTrgSide; }
53  const std::vector<double>& vecTrgThick() const { return m_vecTrgThick; }
54  const std::vector<double>& vecTrgPhi() const { return m_vecTrgPhi; }
55  const std::vector<double>& vecTrgXOff() const { return m_vecTrgXOff; }
56  const std::vector<double>& vecTrgYOff() const { return m_vecTrgYOff; }
57  const std::vector<double>& vecTrgZPiv() const { return m_vecTrgZPiv; }
58 
59  DDName fibFibName() const { return ddname(m_FibFibName); }
60  DDName fibCladName() const { return ddname(m_FibCladName); }
61  DDMaterial fibFibMat() const { return ddmat(m_FibFibMat); }
62  DDMaterial fibCladMat() const { return ddmat(m_FibCladMat); }
63  double fibSide() const { return m_FibSide; }
64  double fibCladThick() const { return m_FibCladThick; }
65  double fibLength() const { return m_FibLength; }
66  const std::vector<double>& vecFibPhi() const { return m_vecFibPhi; }
67  const std::vector<double>& vecFibXOff() const { return m_vecFibXOff; }
68  const std::vector<double>& vecFibYOff() const { return m_vecFibYOff; }
69  const std::vector<double>& vecFibZPiv() const { return m_vecFibZPiv; }
70 
71 private:
72  std::string m_idNameSpace; //Namespace of this and ALL sub-parts
73 
74  double m_BLZBeg; //
75  double m_BLZEnd; //
76  double m_BLZPiv; //
77  double m_BLRadius; //
80  std::vector<double> m_vecVacZBeg; //
81  std::vector<double> m_vecVacZEnd; //
83  std::vector<std::string> m_vecWinMat; //
84  std::vector<double> m_vecWinZBeg; //
85  std::vector<double> m_vecWinThick; //
86 
90  std::vector<std::string> m_vecTrgName; //
91  std::vector<double> m_vecTrgSide; //
92  std::vector<double> m_vecTrgThick; //
93  std::vector<double> m_vecTrgPhi; //
94  std::vector<double> m_vecTrgXOff; //
95  std::vector<double> m_vecTrgYOff; //
96  std::vector<double> m_vecTrgZPiv; //
97 
102  double m_FibSide; //
103  double m_FibCladThick; //
104  double m_FibLength; //
105  std::vector<double> m_vecFibPhi; //
106  std::vector<double> m_vecFibXOff; //
107  std::vector<double> m_vecFibYOff; //
108  std::vector<double> m_vecFibZPiv; //
109 };
110 
111 #endif
std::string m_idNameSpace
Definition: DDTBH4Algo.h:72
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
Definition: DDTBH4Algo.cc:75
std::string m_HoleMat
Definition: DDTBH4Algo.h:88
DDMaterial holeMat() const
Definition: DDTBH4Algo.h:49
std::vector< double > m_vecFibXOff
Definition: DDTBH4Algo.h:106
const std::vector< double > & vecTrgPhi() const
Definition: DDTBH4Algo.h:54
std::string m_TrgMat
Definition: DDTBH4Algo.h:87
const std::vector< double > & vecVacZBeg() const
Definition: DDTBH4Algo.h:41
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:45
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:68
std::string m_FibCladMat
Definition: DDTBH4Algo.h:101
std::vector< double > m_vecWinThick
Definition: DDTBH4Algo.h:85
const std::vector< double > & vecTrgSide() const
Definition: DDTBH4Algo.h:52
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:17
double blZBeg() const
Definition: DDTBH4Algo.h:35
std::vector< double > m_vecTrgYOff
Definition: DDTBH4Algo.h:95
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:81
std::string m_VacName
Definition: DDTBH4Algo.h:78
double m_FibLength
Definition: DDTBH4Algo.h:104
std::vector< double > m_vecTrgXOff
Definition: DDTBH4Algo.h:94
DDName fibFibName() const
Definition: DDTBH4Algo.h:59
double m_TrgVetoHoleRadius
Definition: DDTBH4Algo.h:89
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:57
double m_FibSide
Definition: DDTBH4Algo.h:102
double m_FibCladThick
Definition: DDTBH4Algo.h:103
const std::vector< double > & vecVacZEnd() const
Definition: DDTBH4Algo.h:42
const std::vector< double > & vecTrgYOff() const
Definition: DDTBH4Algo.h:56
DDMaterial vacMat() const
Definition: DDTBH4Algo.h:40
const std::vector< double > & vecTrgThick() const
Definition: DDTBH4Algo.h:53
DDMaterial trgMat() const
Definition: DDTBH4Algo.h:48
const std::vector< double > & vecFibXOff() const
Definition: DDTBH4Algo.h:67
double m_BLZEnd
Definition: DDTBH4Algo.h:75
std::vector< double > m_vecWinZBeg
Definition: DDTBH4Algo.h:84
double trgVetoHoleRadius() const
Definition: DDTBH4Algo.h:50
std::vector< double > m_vecFibZPiv
Definition: DDTBH4Algo.h:108
std::string m_FibCladName
Definition: DDTBH4Algo.h:99
std::vector< std::string > m_vecWinMat
Definition: DDTBH4Algo.h:83
~DDTBH4Algo() override
Definition: DDTBH4Algo.cc:60
double m_BLZPiv
Definition: DDTBH4Algo.h:76
std::vector< double > m_vecTrgThick
Definition: DDTBH4Algo.h:92
std::vector< double > m_vecVacZEnd
Definition: DDTBH4Algo.h:81
std::vector< double > m_vecTrgSide
Definition: DDTBH4Algo.h:91
const std::vector< double > & vecFibZPiv() const
Definition: DDTBH4Algo.h:69
std::vector< double > m_vecTrgPhi
Definition: DDTBH4Algo.h:93
std::vector< double > m_vecFibPhi
Definition: DDTBH4Algo.h:105
double blRadius() const
Definition: DDTBH4Algo.h:38
std::vector< std::string > m_vecTrgName
Definition: DDTBH4Algo.h:90
const std::vector< double > & vecTrgZPiv() const
Definition: DDTBH4Algo.h:57
std::string vacName() const
Definition: DDTBH4Algo.h:39
std::string m_VacMat
Definition: DDTBH4Algo.h:79
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:70
DDMaterial fibFibMat() const
Definition: DDTBH4Algo.h:61
double fibSide() const
Definition: DDTBH4Algo.h:63
std::string winName() const
Definition: DDTBH4Algo.h:43
std::vector< double > m_vecTrgZPiv
Definition: DDTBH4Algo.h:96
std::string m_FibFibMat
Definition: DDTBH4Algo.h:100
DDRotation myrot(const std::string &s, const CLHEP::HepRotation &r) const
Definition: DDTBH4Algo.cc:62
const std::vector< double > & vecWinThick() const
Definition: DDTBH4Algo.h:46
double m_BLZBeg
Definition: DDTBH4Algo.h:74
const std::string & idNameSpace() const
Definition: DDTBH4Algo.h:33
double fibLength() const
Definition: DDTBH4Algo.h:65
std::vector< double > m_vecVacZBeg
Definition: DDTBH4Algo.h:80
const std::vector< double > & vecFibPhi() const
Definition: DDTBH4Algo.h:66
const std::vector< double > & vecFibYOff() const
Definition: DDTBH4Algo.h:68
const std::vector< double > & vecWinZBeg() const
Definition: DDTBH4Algo.h:45
double m_BLRadius
Definition: DDTBH4Algo.h:77
void execute(DDCompactView &cpv) override
Definition: DDTBH4Algo.cc:119
const std::vector< std::string > & vecTrgName() const
Definition: DDTBH4Algo.h:51
std::vector< double > m_vecFibYOff
Definition: DDTBH4Algo.h:107
double fibCladThick() const
Definition: DDTBH4Algo.h:64
double blZEnd() const
Definition: DDTBH4Algo.h:36
DDMaterial fibCladMat() const
Definition: DDTBH4Algo.h:62
DDName fibCladName() const
Definition: DDTBH4Algo.h:60
std::string m_WinName
Definition: DDTBH4Algo.h:82
std::string m_FibFibName
Definition: DDTBH4Algo.h:98
const std::vector< std::string > & vecWinMat() const
Definition: DDTBH4Algo.h:44
double blZPiv() const
Definition: DDTBH4Algo.h:37
const std::vector< double > & vecTrgXOff() const
Definition: DDTBH4Algo.h:55