CMS 3D CMS Logo

DDEcalAPDAlgo.h
Go to the documentation of this file.
1 #ifndef DD_EcalAPDAlgo_h
2 #define DD_EcalAPDAlgo_h
3 
4 #include <string>
5 #include <vector>
6 
13 
14 class DDEcalAPDAlgo : public DDAlgorithm {
15 
16 public:
17 
18  //Constructor and Destructor
19  DDEcalAPDAlgo();
20  ~DDEcalAPDAlgo() override;
21 
22  void initialize(const DDNumericArguments & nArgs,
23  const DDVectorArguments & vArgs,
24  const DDMapArguments & mArgs,
25  const DDStringArguments & sArgs,
26  const DDStringVectorArguments & vsArgs) override;
27  void execute(DDCompactView& cpv) override;
28 
29 protected:
30 
31 private:
32 
33  DDName ddname( const std::string& s ) const ;
34 
35  const std::vector<double>& vecCerPos() const { return m_vecCerPos ; }
36  int apdHere () const { return m_APDHere ; }
37 
38  DDName capName () const { return ddname(m_capName) ; }
39  DDMaterial capMat () const { return DDMaterial( ddname(m_capMat) ) ; }
40  double capXSize() const { return m_capXSize; }
41  double capYSize() const { return m_capYSize; }
42  double capThick() const { return m_capThick; }
43 
44  DDName cerName () const { return ddname(m_CERName) ; }
45  DDMaterial cerMat () const { return DDMaterial( ddname(m_CERMat) ) ; }
46  double cerXSize() const { return m_CERXSize; }
47  double cerYSize() const { return m_CERYSize; }
48  double cerThick() const { return m_CERThick; }
49 
50  DDName bsiName () const { return ddname(m_BSiName) ; }
51  DDMaterial bsiMat () const { return DDMaterial( ddname(m_BSiMat) ) ; }
52  double bsiXSize() const { return m_BSiXSize; }
53  double bsiYSize() const { return m_BSiYSize; }
54  double bsiThick() const { return m_BSiThick; }
55 
56  DDName sglName () const { return ddname(m_SGLName) ; }
57  DDMaterial sglMat () const { return DDMaterial( ddname(m_SGLMat) ) ; }
58  double sglThick() const { return m_SGLThick; }
59 
60  DDName atjName () const { return ddname(m_ATJName) ; }
61  DDMaterial atjMat () const { return DDMaterial( ddname(m_ATJMat) ) ; }
62  double atjThick() const { return m_ATJThick; }
63 
64  DDName aglName () const { return ddname(m_AGLName) ; }
65  DDMaterial aglMat () const { return DDMaterial( ddname(m_AGLMat) ) ; }
66  double aglThick() const { return m_AGLThick; }
67 
68  DDName andName () const { return ddname(m_ANDName) ; }
69  DDMaterial andMat () const { return DDMaterial( ddname(m_ANDMat) ) ; }
70  double andThick() const { return m_ANDThick; }
71 
72  DDName apdName () const { return ddname(m_APDName) ; }
73  DDMaterial apdMat () const { return DDMaterial( ddname(m_APDMat) ) ; }
74  double apdSide () const { return m_APDSide ; }
75  double apdThick() const { return m_APDThick; }
76  double apdZ () const { return m_APDZ ; }
77  double apdX1 () const { return m_APDX1 ; }
78  double apdX2 () const { return m_APDX2 ; }
79 
80 private:
81 
82  std::string m_idNameSpace; //Namespace of this and ALL sub-parts
83 
84  std::vector<double> m_vecCerPos ; // Translation
85  int m_APDHere ;
86 
87  std::string m_capName ; // Capsule
89  double m_capXSize ; //
90  double m_capYSize ; //
91  double m_capThick ; //
92 
93  std::string m_CERName ; // Ceramic
95  double m_CERXSize ; //
96  double m_CERYSize ; //
97  double m_CERThick ; //
98 
99  std::string m_BSiName ; // Bulk Silicon
101  double m_BSiXSize ; //
102  double m_BSiYSize ; //
103  double m_BSiThick ; //
104 
107  double m_APDSide ; //
108  double m_APDThick ; //
109  double m_APDZ ; //
110  double m_APDX1 ; //
111  double m_APDX2 ; //
112 
113  std::string m_ATJName ; // After-The-Junction
115  double m_ATJThick ; //
116 
117  std::string m_SGLName ; // APD-Silicone glue
119  double m_SGLThick ; //
120 
121  std::string m_AGLName ; // APD-Glue
123  double m_AGLThick ; //
124 
125  std::string m_ANDName ; // APD-Non-Depleted
127  double m_ANDThick ; //
128 
129 };
130 
131 #endif
DDMaterial sglMat() const
Definition: DDEcalAPDAlgo.h:57
DDName cerName() const
Definition: DDEcalAPDAlgo.h:44
std::string m_BSiName
Definition: DDEcalAPDAlgo.h:99
double bsiThick() const
Definition: DDEcalAPDAlgo.h:54
double m_CERXSize
Definition: DDEcalAPDAlgo.h:95
std::string m_ATJMat
DDMaterial bsiMat() const
Definition: DDEcalAPDAlgo.h:51
DDName atjName() const
Definition: DDEcalAPDAlgo.h:60
DDMaterial apdMat() const
Definition: DDEcalAPDAlgo.h:73
DDMaterial aglMat() const
Definition: DDEcalAPDAlgo.h:65
int apdHere() const
Definition: DDEcalAPDAlgo.h:36
std::string m_SGLName
const std::vector< double > & vecCerPos() const
Definition: DDEcalAPDAlgo.h:35
double cerThick() const
Definition: DDEcalAPDAlgo.h:48
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:43
std::string m_BSiMat
std::string m_AGLMat
double apdZ() const
Definition: DDEcalAPDAlgo.h:76
double m_capXSize
Definition: DDEcalAPDAlgo.h:89
DDName ddname(const std::string &s) const
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
double cerYSize() const
Definition: DDEcalAPDAlgo.h:47
double apdSide() const
Definition: DDEcalAPDAlgo.h:74
double andThick() const
Definition: DDEcalAPDAlgo.h:70
std::string m_CERName
Definition: DDEcalAPDAlgo.h:93
std::string m_idNameSpace
Definition: DDEcalAPDAlgo.h:82
std::string m_capMat
Definition: DDEcalAPDAlgo.h:88
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
~DDEcalAPDAlgo() override
double sglThick() const
Definition: DDEcalAPDAlgo.h:58
std::string m_CERMat
Definition: DDEcalAPDAlgo.h:94
double m_CERThick
Definition: DDEcalAPDAlgo.h:97
std::string m_APDName
DDMaterial cerMat() const
Definition: DDEcalAPDAlgo.h:45
double bsiXSize() const
Definition: DDEcalAPDAlgo.h:52
std::string m_APDMat
std::string m_AGLName
DDName sglName() const
Definition: DDEcalAPDAlgo.h:56
double capThick() const
Definition: DDEcalAPDAlgo.h:42
double apdX1() const
Definition: DDEcalAPDAlgo.h:77
DDMaterial capMat() const
Definition: DDEcalAPDAlgo.h:39
double apdThick() const
Definition: DDEcalAPDAlgo.h:75
double capXSize() const
Definition: DDEcalAPDAlgo.h:40
DDName aglName() const
Definition: DDEcalAPDAlgo.h:64
std::string m_SGLMat
DDMaterial atjMat() const
Definition: DDEcalAPDAlgo.h:61
double m_capYSize
Definition: DDEcalAPDAlgo.h:90
double m_CERYSize
Definition: DDEcalAPDAlgo.h:96
DDName apdName() const
Definition: DDEcalAPDAlgo.h:72
double bsiYSize() const
Definition: DDEcalAPDAlgo.h:53
std::string m_capName
Definition: DDEcalAPDAlgo.h:87
double cerXSize() const
Definition: DDEcalAPDAlgo.h:46
double m_capThick
Definition: DDEcalAPDAlgo.h:91
DDMaterial andMat() const
Definition: DDEcalAPDAlgo.h:69
double atjThick() const
Definition: DDEcalAPDAlgo.h:62
std::string m_ANDMat
void execute(DDCompactView &cpv) override
std::vector< double > m_vecCerPos
Definition: DDEcalAPDAlgo.h:84
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
std::string m_ATJName
double capYSize() const
Definition: DDEcalAPDAlgo.h:41
DDName bsiName() const
Definition: DDEcalAPDAlgo.h:50
DDName andName() const
Definition: DDEcalAPDAlgo.h:68
DDName capName() const
Definition: DDEcalAPDAlgo.h:38
double apdX2() const
Definition: DDEcalAPDAlgo.h:78
double aglThick() const
Definition: DDEcalAPDAlgo.h:66
std::string m_ANDName