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