CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
DDTBH4Algo Class Reference

#include <DDTBH4Algo.h>

Inheritance diagram for DDTBH4Algo:

Public Member Functions

double blRadius () const
 
double blZBeg () const
 
double blZEnd () const
 
double blZPiv () const
 
DDMaterial ddmat (const std::string &s) const
 
DDName ddname (const std::string &s) const
 
 DDTBH4Algo ()
 
void execute (DDCompactView &cpv) override
 
DDMaterial fibCladMat () const
 
DDName fibCladName () const
 
double fibCladThick () const
 
DDMaterial fibFibMat () const
 
DDName fibFibName () const
 
double fibLength () const
 
double fibSide () const
 
DDMaterial holeMat () const
 
const std::string & idNameSpace () const
 
void initialize (const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
 
DDRotation myrot (const std::string &s, const CLHEP::HepRotation &r) const
 
DDMaterial trgMat () const
 
double trgVetoHoleRadius () const
 
DDMaterial vacMat () const
 
std::string vacName () const
 
const std::vector< double > & vecFibPhi () const
 
const std::vector< double > & vecFibXOff () const
 
const std::vector< double > & vecFibYOff () const
 
const std::vector< double > & vecFibZPiv () const
 
const std::vector< std::string > & vecTrgName () const
 
const std::vector< double > & vecTrgPhi () const
 
const std::vector< double > & vecTrgSide () const
 
const std::vector< double > & vecTrgThick () const
 
const std::vector< double > & vecTrgXOff () const
 
const std::vector< double > & vecTrgYOff () const
 
const std::vector< double > & vecTrgZPiv () const
 
const std::vector< double > & vecVacZBeg () const
 
const std::vector< double > & vecVacZEnd () const
 
const std::vector< std::string > & vecWinMat () const
 
const std::vector< double > & vecWinThick () const
 
const std::vector< double > & vecWinZBeg () const
 
std::string winName () const
 
 ~DDTBH4Algo () override
 

Private Attributes

double m_BLRadius
 
double m_BLZBeg
 
double m_BLZEnd
 
double m_BLZPiv
 
std::string m_FibCladMat
 
std::string m_FibCladName
 
double m_FibCladThick
 
std::string m_FibFibMat
 
std::string m_FibFibName
 
double m_FibLength
 
double m_FibSide
 
std::string m_HoleMat
 
std::string m_idNameSpace
 
std::string m_TrgMat
 
double m_TrgVetoHoleRadius
 
std::string m_VacMat
 
std::string m_VacName
 
std::vector< double > m_vecFibPhi
 
std::vector< double > m_vecFibXOff
 
std::vector< double > m_vecFibYOff
 
std::vector< double > m_vecFibZPiv
 
std::vector< std::string > m_vecTrgName
 
std::vector< double > m_vecTrgPhi
 
std::vector< double > m_vecTrgSide
 
std::vector< double > m_vecTrgThick
 
std::vector< double > m_vecTrgXOff
 
std::vector< double > m_vecTrgYOff
 
std::vector< double > m_vecTrgZPiv
 
std::vector< double > m_vecVacZBeg
 
std::vector< double > m_vecVacZEnd
 
std::vector< std::string > m_vecWinMat
 
std::vector< double > m_vecWinThick
 
std::vector< double > m_vecWinZBeg
 
std::string m_WinName
 

Detailed Description

Definition at line 15 of file DDTBH4Algo.h.

Constructor & Destructor Documentation

◆ DDTBH4Algo()

DDTBH4Algo::DDTBH4Algo ( )

Definition at line 19 of file DDTBH4Algo.cc.

References LogDebug.

20  : m_idNameSpace(""),
21  m_BLZBeg(0),
22  m_BLZEnd(0),
23  m_BLZPiv(0),
24  m_BLRadius(0),
25  m_VacName(""),
26  m_VacMat(""),
27  m_vecVacZBeg(),
28  m_vecVacZEnd(),
29  m_WinName(""),
30  m_vecWinMat(),
31  m_vecWinZBeg(),
32  m_vecWinThick(),
33  m_TrgMat(""),
34  m_HoleMat(""),
36  m_vecTrgName(),
37  m_vecTrgSide(),
38  m_vecTrgThick(),
39  m_vecTrgPhi(),
40  m_vecTrgXOff(),
41  m_vecTrgYOff(),
42  m_vecTrgZPiv(),
43  m_FibFibName(""),
44  m_FibCladName(""),
45  m_FibFibMat(""),
46  m_FibCladMat(""),
47  m_FibSide(0),
48  m_FibCladThick(0),
49  m_FibLength(0),
50  m_vecFibPhi(),
51  m_vecFibXOff(),
52  m_vecFibYOff(),
53  m_vecFibZPiv()
54 
55 {
56  edm::LogVerbatim("EcalGeom") << "creating an instance if DDTBH4Algo";
57  LogDebug("EcalGeom") << "DDTBH4Algo test: Creating an instance";
58 }
Log< level::Info, true > LogVerbatim
std::string m_idNameSpace
Definition: DDTBH4Algo.h:72
std::string m_HoleMat
Definition: DDTBH4Algo.h:88
std::vector< double > m_vecFibXOff
Definition: DDTBH4Algo.h:106
std::string m_TrgMat
Definition: DDTBH4Algo.h:87
std::string m_FibCladMat
Definition: DDTBH4Algo.h:101
std::vector< double > m_vecWinThick
Definition: DDTBH4Algo.h:85
std::vector< double > m_vecTrgYOff
Definition: DDTBH4Algo.h:95
std::string m_VacName
Definition: DDTBH4Algo.h:78
double m_FibLength
Definition: DDTBH4Algo.h:104
std::vector< double > m_vecTrgXOff
Definition: DDTBH4Algo.h:94
double m_TrgVetoHoleRadius
Definition: DDTBH4Algo.h:89
double m_FibSide
Definition: DDTBH4Algo.h:102
double m_FibCladThick
Definition: DDTBH4Algo.h:103
double m_BLZEnd
Definition: DDTBH4Algo.h:75
std::vector< double > m_vecWinZBeg
Definition: DDTBH4Algo.h:84
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
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
std::vector< double > m_vecTrgPhi
Definition: DDTBH4Algo.h:93
std::vector< double > m_vecFibPhi
Definition: DDTBH4Algo.h:105
std::vector< std::string > m_vecTrgName
Definition: DDTBH4Algo.h:90
std::string m_VacMat
Definition: DDTBH4Algo.h:79
std::vector< double > m_vecTrgZPiv
Definition: DDTBH4Algo.h:96
std::string m_FibFibMat
Definition: DDTBH4Algo.h:100
double m_BLZBeg
Definition: DDTBH4Algo.h:74
std::vector< double > m_vecVacZBeg
Definition: DDTBH4Algo.h:80
double m_BLRadius
Definition: DDTBH4Algo.h:77
std::vector< double > m_vecFibYOff
Definition: DDTBH4Algo.h:107
std::string m_WinName
Definition: DDTBH4Algo.h:82
std::string m_FibFibName
Definition: DDTBH4Algo.h:98
#define LogDebug(id)

◆ ~DDTBH4Algo()

DDTBH4Algo::~DDTBH4Algo ( )
override

Definition at line 60 of file DDTBH4Algo.cc.

60 {}

Member Function Documentation

◆ blRadius()

double DDTBH4Algo::blRadius ( ) const
inline

Definition at line 38 of file DDTBH4Algo.h.

References m_BLRadius.

Referenced by execute().

38 { return m_BLRadius; }
double m_BLRadius
Definition: DDTBH4Algo.h:77

◆ blZBeg()

double DDTBH4Algo::blZBeg ( ) const
inline

Definition at line 35 of file DDTBH4Algo.h.

References m_BLZBeg.

Referenced by execute().

35 { return m_BLZBeg; }
double m_BLZBeg
Definition: DDTBH4Algo.h:74

◆ blZEnd()

double DDTBH4Algo::blZEnd ( ) const
inline

Definition at line 36 of file DDTBH4Algo.h.

References m_BLZEnd.

Referenced by execute().

36 { return m_BLZEnd; }
double m_BLZEnd
Definition: DDTBH4Algo.h:75

◆ blZPiv()

double DDTBH4Algo::blZPiv ( ) const
inline

Definition at line 37 of file DDTBH4Algo.h.

References m_BLZPiv.

Referenced by execute().

37 { return m_BLZPiv; }
double m_BLZPiv
Definition: DDTBH4Algo.h:76

◆ ddmat()

DDMaterial DDTBH4Algo::ddmat ( const std::string &  s) const

Definition at line 68 of file DDTBH4Algo.cc.

References ddname(), and alignCSCRings::s.

Referenced by execute(), fibCladMat(), fibFibMat(), holeMat(), trgMat(), and vacMat().

68 { return DDMaterial(ddname(s)); }
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:45
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:70

◆ ddname()

DDName DDTBH4Algo::ddname ( const std::string &  s) const

Definition at line 70 of file DDTBH4Algo.cc.

References DDSplit(), alignCSCRings::s, and groupFilesInBlocks::temp.

Referenced by ddmat(), execute(), fibCladName(), fibFibName(), and myrot().

70  {
71  const std::pair<std::string, std::string> temp(DDSplit(s));
72  return DDName(temp.first, temp.second);
73 }
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:17
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = &#39;:&#39;
Definition: DDSplit.cc:3

◆ execute()

void DDTBH4Algo::execute ( DDCompactView cpv)
override

Definition at line 119 of file DDTBH4Algo.cc.

References blRadius(), blZBeg(), blZEnd(), blZPiv(), DDSolidFactory::box(), ddmat(), ddname(), fibCladMat(), fibCladName(), fibCladThick(), fibFibMat(), fibFibName(), fibLength(), fibSide(), holeMat(), mps_fire::i, dqmiolumiharvest::j, myrot(), DDName::name(), mergeVDriftHistosByStation::name, class-composition::parent, DDCompactView::position(), simpleEdmComparison::tName, to_string(), trgMat(), trgVetoHoleRadius(), DDSolidFactory::tubs(), vacMat(), vacName(), vecFibPhi(), vecFibXOff(), vecFibYOff(), vecFibZPiv(), vecTrgName(), vecTrgPhi(), vecTrgSide(), vecTrgThick(), vecTrgXOff(), vecTrgYOff(), vecTrgZPiv(), vecVacZBeg(), vecVacZEnd(), vecWinMat(), vecWinThick(), vecWinZBeg(), and winName().

119  {
120  const unsigned int copyOne(1);
121 
122  const double halfZbl((blZEnd() - blZBeg()) / 2.);
123  for (unsigned int i(0); i != vecVacZBeg().size(); ++i) {
124  DDName vacNameNm(ddname(vacName() + std::to_string(i + 1)));
125  const double halfZvac((vecVacZEnd()[i] - vecVacZBeg()[i]) / 2.);
126  DDSolid vTubeSolid(DDSolidFactory::tubs(vacNameNm, halfZvac, 0, blRadius(), 0 * deg, 360 * deg));
127  const DDLogicalPart vacLog(vacNameNm, vacMat(), vTubeSolid);
128 
129  cpv.position(vacLog,
130  parent().name(),
131  1 + i,
132  DDTranslation(0, 0, -halfZbl + halfZvac + vecVacZBeg()[i] - blZBeg()),
133  DDRotation());
134  }
135 
136  for (unsigned int i(0); i != vecWinZBeg().size(); ++i) {
137  DDName wName(ddname(winName() + std::to_string(i + 1)));
138  DDSolid wTubeSolid(DDSolidFactory::tubs(wName, vecWinThick()[i] / 2., 0, blRadius(), 0 * deg, 360 * deg));
139  const DDLogicalPart wLog(wName, ddmat(vecWinMat()[i]), wTubeSolid);
140 
141  const double off(0 < vecWinZBeg()[i] ? vecWinZBeg()[i] : fabs(vecWinZBeg()[i]) - vecWinThick()[i]);
142 
143  cpv.position(wLog,
144  parent().name(),
145  1 + i,
146  DDTranslation(0, 0, -halfZbl + vecWinThick()[i] / 2. + off - blZBeg()),
147  DDRotation());
148  }
149 
150  for (unsigned int i(0); i != vecTrgName().size(); ++i) {
152  DDSolid tSolid(DDSolidFactory::box(tName, vecTrgSide()[i] / 2., vecTrgSide()[i] / 2., vecTrgThick()[i] / 2.));
153  const DDLogicalPart tLog(tName, trgMat(), tSolid);
154 
155  if (tName.name() == "VETO") {
156  DDName vName(ddname(tName.name() + "Hole"));
157  DDSolid vTubeSolid(
158  DDSolidFactory::tubs(vName, vecTrgThick()[i] / 2., 0, trgVetoHoleRadius(), 0 * deg, 360 * deg));
159  const DDLogicalPart vLog(vName, holeMat(), vTubeSolid);
160 
161  cpv.position(vLog, tName, copyOne, DDTranslation(0, 0, 0), DDRotation());
162  }
163 
164  cpv.position(tLog,
165  parent().name(),
166  copyOne,
167  DDTranslation(vecTrgXOff()[i], vecTrgYOff()[i], vecTrgZPiv()[i] - halfZbl + blZPiv() - blZBeg()),
168  myrot(tName.name() + "Rot", CLHEP::HepRotationZ(vecTrgPhi()[i])));
169  }
170 
171  DDName pName(fibCladName());
172  const double planeWidth(32.5 * fibSide() + 33.5 * fibCladThick());
173  const double planeThick(2 * fibSide() + 3 * fibCladThick());
174  DDSolid pSolid(DDSolidFactory::box(pName, planeWidth / 2., fibLength() / 2., planeThick / 2.));
175  const DDLogicalPart pLog(pName, fibCladMat(), pSolid);
176 
177  DDSolid fSolid(DDSolidFactory::box(fibFibName(), fibSide() / 2., fibLength() / 2., fibSide() / 2.));
178 
179  const DDLogicalPart fLog(fibFibName(), fibFibMat(), fSolid);
180 
181  for (unsigned int j(0); j != 32; ++j) {
182  const double xoff(planeWidth / 2. - (1 + j) * fibCladThick() - (1 + j) * fibSide());
183  const double zoff(-planeThick / 2 + fibCladThick() + fibSide() / 2.);
184  cpv.position(fLog, pName, 1 + j, DDTranslation(xoff, 0, zoff), DDRotation());
185 
186  cpv.position(fLog, pName, 33 + j, DDTranslation(xoff + (fibCladThick() + fibSide()) / 2., 0, -zoff), DDRotation());
187  }
188  for (unsigned int i(0); i != vecFibZPiv().size(); ++i) {
189  cpv.position(
190  pLog,
191  parent().name(),
192  1 + i,
194  vecFibXOff()[i] - 0.5 * fibSide(), vecFibYOff()[i], vecFibZPiv()[i] - halfZbl + blZPiv() - blZBeg()),
195  myrot(pName.name() + "Rot" + std::to_string(i), CLHEP::HepRotationZ(vecFibPhi()[i])));
196  }
197 }
DDMaterial holeMat() const
Definition: DDTBH4Algo.h:49
const std::vector< double > & vecTrgPhi() const
Definition: DDTBH4Algo.h:54
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string &copyno, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)
const std::vector< double > & vecVacZBeg() const
Definition: DDTBH4Algo.h:41
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:68
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
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
static std::string to_string(const XMLCh *ch)
DDName fibFibName() const
Definition: DDTBH4Algo.h:59
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:57
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
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:93
double trgVetoHoleRadius() const
Definition: DDTBH4Algo.h:50
static DDSolid tubs(const DDName &name, double zhalf, double rIn, double rOut, double startPhi, double deltaPhi)
Definition: DDSolid.cc:667
static DDSolid box(const DDName &name, double xHalf, double yHalf, double zHalf)
Creates a box with side length 2*xHalf, 2*yHalf, 2*zHalf.
Definition: DDSolid.cc:547
const std::vector< double > & vecFibZPiv() const
Definition: DDTBH4Algo.h:69
double blRadius() const
Definition: DDTBH4Algo.h:38
const std::vector< double > & vecTrgZPiv() const
Definition: DDTBH4Algo.h:57
std::string vacName() const
Definition: DDTBH4Algo.h:39
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
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 fibLength() const
Definition: DDTBH4Algo.h:65
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
const std::vector< std::string > & vecTrgName() const
Definition: DDTBH4Algo.h:51
double fibCladThick() const
Definition: DDTBH4Algo.h:64
double blZEnd() const
Definition: DDTBH4Algo.h:36
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
DDMaterial fibCladMat() const
Definition: DDTBH4Algo.h:62
DDName fibCladName() const
Definition: DDTBH4Algo.h:60
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

◆ fibCladMat()

DDMaterial DDTBH4Algo::fibCladMat ( ) const
inline

Definition at line 62 of file DDTBH4Algo.h.

References ddmat(), and m_FibCladMat.

Referenced by execute().

62 { return ddmat(m_FibCladMat); }
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:68
std::string m_FibCladMat
Definition: DDTBH4Algo.h:101

◆ fibCladName()

DDName DDTBH4Algo::fibCladName ( ) const
inline

Definition at line 60 of file DDTBH4Algo.h.

References ddname(), and m_FibCladName.

Referenced by execute().

60 { return ddname(m_FibCladName); }
std::string m_FibCladName
Definition: DDTBH4Algo.h:99
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:70

◆ fibCladThick()

double DDTBH4Algo::fibCladThick ( ) const
inline

Definition at line 64 of file DDTBH4Algo.h.

References m_FibCladThick.

Referenced by execute().

64 { return m_FibCladThick; }
double m_FibCladThick
Definition: DDTBH4Algo.h:103

◆ fibFibMat()

DDMaterial DDTBH4Algo::fibFibMat ( ) const
inline

Definition at line 61 of file DDTBH4Algo.h.

References ddmat(), and m_FibFibMat.

Referenced by execute().

61 { return ddmat(m_FibFibMat); }
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:68
std::string m_FibFibMat
Definition: DDTBH4Algo.h:100

◆ fibFibName()

DDName DDTBH4Algo::fibFibName ( ) const
inline

Definition at line 59 of file DDTBH4Algo.h.

References ddname(), and m_FibFibName.

Referenced by execute().

59 { return ddname(m_FibFibName); }
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:70
std::string m_FibFibName
Definition: DDTBH4Algo.h:98

◆ fibLength()

double DDTBH4Algo::fibLength ( ) const
inline

Definition at line 65 of file DDTBH4Algo.h.

References m_FibLength.

Referenced by execute().

65 { return m_FibLength; }
double m_FibLength
Definition: DDTBH4Algo.h:104

◆ fibSide()

double DDTBH4Algo::fibSide ( ) const
inline

Definition at line 63 of file DDTBH4Algo.h.

References m_FibSide.

Referenced by execute().

63 { return m_FibSide; }
double m_FibSide
Definition: DDTBH4Algo.h:102

◆ holeMat()

DDMaterial DDTBH4Algo::holeMat ( ) const
inline

Definition at line 49 of file DDTBH4Algo.h.

References ddmat(), and m_HoleMat.

Referenced by execute().

49 { return ddmat(m_HoleMat); }
std::string m_HoleMat
Definition: DDTBH4Algo.h:88
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:68

◆ idNameSpace()

const std::string& DDTBH4Algo::idNameSpace ( ) const
inline

Definition at line 33 of file DDTBH4Algo.h.

References m_idNameSpace.

Referenced by myrot().

33 { return m_idNameSpace; }
std::string m_idNameSpace
Definition: DDTBH4Algo.h:72

◆ initialize()

void DDTBH4Algo::initialize ( const DDNumericArguments nArgs,
const DDVectorArguments vArgs,
const DDMapArguments mArgs,
const DDStringArguments sArgs,
const DDStringVectorArguments vsArgs 
)
override

Definition at line 75 of file DDTBH4Algo.cc.

References m_BLRadius, m_BLZBeg, m_BLZEnd, m_BLZPiv, m_FibCladMat, m_FibCladName, m_FibCladThick, m_FibFibMat, m_FibFibName, m_FibLength, m_FibSide, m_HoleMat, m_idNameSpace, m_TrgMat, m_TrgVetoHoleRadius, m_VacMat, m_VacName, m_vecFibPhi, m_vecFibXOff, m_vecFibYOff, m_vecFibZPiv, m_vecTrgName, m_vecTrgPhi, m_vecTrgSide, m_vecTrgThick, m_vecTrgXOff, m_vecTrgYOff, m_vecTrgZPiv, m_vecVacZBeg, m_vecVacZEnd, m_vecWinMat, m_vecWinThick, m_vecWinZBeg, m_WinName, and DDCurrentNamespace::ns().

79  {
81  m_BLZBeg = nArgs["BLZBeg"];
82  m_BLZEnd = nArgs["BLZEnd"];
83  m_BLZPiv = nArgs["BLZPiv"];
84  m_BLRadius = nArgs["BLRadius"];
85  m_VacName = sArgs["VacName"];
86  m_VacMat = sArgs["VacMat"];
87  m_vecVacZBeg = vArgs["VacZBeg"];
88  m_vecVacZEnd = vArgs["VacZEnd"];
89 
90  m_WinName = sArgs["WinName"];
91  m_vecWinMat = vsArgs["WinMat"];
92  m_vecWinZBeg = vArgs["WinZBeg"];
93  m_vecWinThick = vArgs["WinThick"];
94 
95  m_TrgMat = sArgs["TrgMat"];
96  m_HoleMat = sArgs["HoleMat"];
97  m_TrgVetoHoleRadius = nArgs["TrgVetoHoleRadius"];
98  m_vecTrgName = vsArgs["TrgName"];
99  m_vecTrgSide = vArgs["TrgSide"];
100  m_vecTrgThick = vArgs["TrgThick"];
101  m_vecTrgPhi = vArgs["TrgPhi"];
102  m_vecTrgXOff = vArgs["TrgXOff"];
103  m_vecTrgYOff = vArgs["TrgYOff"];
104  m_vecTrgZPiv = vArgs["TrgZPiv"];
105 
106  m_FibFibName = sArgs["FibFibName"];
107  m_FibCladName = sArgs["FibCladName"];
108  m_FibFibMat = sArgs["FibFibMat"];
109  m_FibCladMat = sArgs["FibCladMat"];
110  m_FibSide = nArgs["FibSide"];
111  m_FibCladThick = nArgs["FibCladThick"];
112  m_FibLength = nArgs["FibLength"];
113  m_vecFibPhi = vArgs["FibPhi"];
114  m_vecFibXOff = vArgs["FibXOff"];
115  m_vecFibYOff = vArgs["FibYOff"];
116  m_vecFibZPiv = vArgs["FibZPiv"];
117 }
std::string m_idNameSpace
Definition: DDTBH4Algo.h:72
std::string m_HoleMat
Definition: DDTBH4Algo.h:88
std::vector< double > m_vecFibXOff
Definition: DDTBH4Algo.h:106
std::string m_TrgMat
Definition: DDTBH4Algo.h:87
std::string m_FibCladMat
Definition: DDTBH4Algo.h:101
std::vector< double > m_vecWinThick
Definition: DDTBH4Algo.h:85
static std::string & ns()
std::vector< double > m_vecTrgYOff
Definition: DDTBH4Algo.h:95
std::string m_VacName
Definition: DDTBH4Algo.h:78
double m_FibLength
Definition: DDTBH4Algo.h:104
std::vector< double > m_vecTrgXOff
Definition: DDTBH4Algo.h:94
double m_TrgVetoHoleRadius
Definition: DDTBH4Algo.h:89
double m_FibSide
Definition: DDTBH4Algo.h:102
double m_FibCladThick
Definition: DDTBH4Algo.h:103
double m_BLZEnd
Definition: DDTBH4Algo.h:75
std::vector< double > m_vecWinZBeg
Definition: DDTBH4Algo.h:84
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
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
std::vector< double > m_vecTrgPhi
Definition: DDTBH4Algo.h:93
std::vector< double > m_vecFibPhi
Definition: DDTBH4Algo.h:105
std::vector< std::string > m_vecTrgName
Definition: DDTBH4Algo.h:90
std::string m_VacMat
Definition: DDTBH4Algo.h:79
std::vector< double > m_vecTrgZPiv
Definition: DDTBH4Algo.h:96
std::string m_FibFibMat
Definition: DDTBH4Algo.h:100
double m_BLZBeg
Definition: DDTBH4Algo.h:74
std::vector< double > m_vecVacZBeg
Definition: DDTBH4Algo.h:80
double m_BLRadius
Definition: DDTBH4Algo.h:77
std::vector< double > m_vecFibYOff
Definition: DDTBH4Algo.h:107
std::string m_WinName
Definition: DDTBH4Algo.h:82
std::string m_FibFibName
Definition: DDTBH4Algo.h:98

◆ myrot()

DDRotation DDTBH4Algo::myrot ( const std::string &  s,
const CLHEP::HepRotation &  r 
) const

Definition at line 62 of file DDTBH4Algo.cc.

References ddname(), DDrot(), idNameSpace(), alignCSCRings::r, and alignCSCRings::s.

Referenced by execute().

62  {
63  return DDrot(
64  ddname(idNameSpace() + ":" + s),
65  std::make_unique<DDRotationMatrix>(r.xx(), r.xy(), r.xz(), r.yx(), r.yy(), r.yz(), r.zx(), r.zy(), r.zz()));
66 }
DDRotation DDrot(const DDName &name, std::unique_ptr< DDRotationMatrix > rot)
Definition of a uniquely identifiable rotation matrix named by DDName name.
Definition: DDRotation.cc:67
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:70
const std::string & idNameSpace() const
Definition: DDTBH4Algo.h:33

◆ trgMat()

DDMaterial DDTBH4Algo::trgMat ( ) const
inline

Definition at line 48 of file DDTBH4Algo.h.

References ddmat(), and m_TrgMat.

Referenced by execute().

48 { return ddmat(m_TrgMat); }
std::string m_TrgMat
Definition: DDTBH4Algo.h:87
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:68

◆ trgVetoHoleRadius()

double DDTBH4Algo::trgVetoHoleRadius ( ) const
inline

Definition at line 50 of file DDTBH4Algo.h.

References m_TrgVetoHoleRadius.

Referenced by execute().

50 { return m_TrgVetoHoleRadius; }
double m_TrgVetoHoleRadius
Definition: DDTBH4Algo.h:89

◆ vacMat()

DDMaterial DDTBH4Algo::vacMat ( ) const
inline

Definition at line 40 of file DDTBH4Algo.h.

References ddmat(), and m_VacMat.

Referenced by execute().

40 { return ddmat(m_VacMat); }
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:68
std::string m_VacMat
Definition: DDTBH4Algo.h:79

◆ vacName()

std::string DDTBH4Algo::vacName ( ) const
inline

Definition at line 39 of file DDTBH4Algo.h.

References m_VacName.

Referenced by execute().

39 { return m_VacName; }
std::string m_VacName
Definition: DDTBH4Algo.h:78

◆ vecFibPhi()

const std::vector<double>& DDTBH4Algo::vecFibPhi ( ) const
inline

Definition at line 66 of file DDTBH4Algo.h.

References m_vecFibPhi.

Referenced by execute().

66 { return m_vecFibPhi; }
std::vector< double > m_vecFibPhi
Definition: DDTBH4Algo.h:105

◆ vecFibXOff()

const std::vector<double>& DDTBH4Algo::vecFibXOff ( ) const
inline

Definition at line 67 of file DDTBH4Algo.h.

References m_vecFibXOff.

Referenced by execute().

67 { return m_vecFibXOff; }
std::vector< double > m_vecFibXOff
Definition: DDTBH4Algo.h:106

◆ vecFibYOff()

const std::vector<double>& DDTBH4Algo::vecFibYOff ( ) const
inline

Definition at line 68 of file DDTBH4Algo.h.

References m_vecFibYOff.

Referenced by execute().

68 { return m_vecFibYOff; }
std::vector< double > m_vecFibYOff
Definition: DDTBH4Algo.h:107

◆ vecFibZPiv()

const std::vector<double>& DDTBH4Algo::vecFibZPiv ( ) const
inline

Definition at line 69 of file DDTBH4Algo.h.

References m_vecFibZPiv.

Referenced by execute().

69 { return m_vecFibZPiv; }
std::vector< double > m_vecFibZPiv
Definition: DDTBH4Algo.h:108

◆ vecTrgName()

const std::vector<std::string>& DDTBH4Algo::vecTrgName ( ) const
inline

Definition at line 51 of file DDTBH4Algo.h.

References m_vecTrgName.

Referenced by execute().

51 { return m_vecTrgName; }
std::vector< std::string > m_vecTrgName
Definition: DDTBH4Algo.h:90

◆ vecTrgPhi()

const std::vector<double>& DDTBH4Algo::vecTrgPhi ( ) const
inline

Definition at line 54 of file DDTBH4Algo.h.

References m_vecTrgPhi.

Referenced by execute().

54 { return m_vecTrgPhi; }
std::vector< double > m_vecTrgPhi
Definition: DDTBH4Algo.h:93

◆ vecTrgSide()

const std::vector<double>& DDTBH4Algo::vecTrgSide ( ) const
inline

Definition at line 52 of file DDTBH4Algo.h.

References m_vecTrgSide.

Referenced by execute().

52 { return m_vecTrgSide; }
std::vector< double > m_vecTrgSide
Definition: DDTBH4Algo.h:91

◆ vecTrgThick()

const std::vector<double>& DDTBH4Algo::vecTrgThick ( ) const
inline

Definition at line 53 of file DDTBH4Algo.h.

References m_vecTrgThick.

Referenced by execute().

53 { return m_vecTrgThick; }
std::vector< double > m_vecTrgThick
Definition: DDTBH4Algo.h:92

◆ vecTrgXOff()

const std::vector<double>& DDTBH4Algo::vecTrgXOff ( ) const
inline

Definition at line 55 of file DDTBH4Algo.h.

References m_vecTrgXOff.

Referenced by execute().

55 { return m_vecTrgXOff; }
std::vector< double > m_vecTrgXOff
Definition: DDTBH4Algo.h:94

◆ vecTrgYOff()

const std::vector<double>& DDTBH4Algo::vecTrgYOff ( ) const
inline

Definition at line 56 of file DDTBH4Algo.h.

References m_vecTrgYOff.

Referenced by execute().

56 { return m_vecTrgYOff; }
std::vector< double > m_vecTrgYOff
Definition: DDTBH4Algo.h:95

◆ vecTrgZPiv()

const std::vector<double>& DDTBH4Algo::vecTrgZPiv ( ) const
inline

Definition at line 57 of file DDTBH4Algo.h.

References m_vecTrgZPiv.

Referenced by execute().

57 { return m_vecTrgZPiv; }
std::vector< double > m_vecTrgZPiv
Definition: DDTBH4Algo.h:96

◆ vecVacZBeg()

const std::vector<double>& DDTBH4Algo::vecVacZBeg ( ) const
inline

Definition at line 41 of file DDTBH4Algo.h.

References m_vecVacZBeg.

Referenced by execute().

41 { return m_vecVacZBeg; }
std::vector< double > m_vecVacZBeg
Definition: DDTBH4Algo.h:80

◆ vecVacZEnd()

const std::vector<double>& DDTBH4Algo::vecVacZEnd ( ) const
inline

Definition at line 42 of file DDTBH4Algo.h.

References m_vecVacZEnd.

Referenced by execute().

42 { return m_vecVacZEnd; }
std::vector< double > m_vecVacZEnd
Definition: DDTBH4Algo.h:81

◆ vecWinMat()

const std::vector<std::string>& DDTBH4Algo::vecWinMat ( ) const
inline

Definition at line 44 of file DDTBH4Algo.h.

References m_vecWinMat.

Referenced by execute().

44 { return m_vecWinMat; }
std::vector< std::string > m_vecWinMat
Definition: DDTBH4Algo.h:83

◆ vecWinThick()

const std::vector<double>& DDTBH4Algo::vecWinThick ( ) const
inline

Definition at line 46 of file DDTBH4Algo.h.

References m_vecWinThick.

Referenced by execute().

46 { return m_vecWinThick; }
std::vector< double > m_vecWinThick
Definition: DDTBH4Algo.h:85

◆ vecWinZBeg()

const std::vector<double>& DDTBH4Algo::vecWinZBeg ( ) const
inline

Definition at line 45 of file DDTBH4Algo.h.

References m_vecWinZBeg.

Referenced by execute().

45 { return m_vecWinZBeg; }
std::vector< double > m_vecWinZBeg
Definition: DDTBH4Algo.h:84

◆ winName()

std::string DDTBH4Algo::winName ( ) const
inline

Definition at line 43 of file DDTBH4Algo.h.

References m_WinName.

Referenced by execute().

43 { return m_WinName; }
std::string m_WinName
Definition: DDTBH4Algo.h:82

Member Data Documentation

◆ m_BLRadius

double DDTBH4Algo::m_BLRadius
private

Definition at line 77 of file DDTBH4Algo.h.

Referenced by blRadius(), and initialize().

◆ m_BLZBeg

double DDTBH4Algo::m_BLZBeg
private

Definition at line 74 of file DDTBH4Algo.h.

Referenced by blZBeg(), and initialize().

◆ m_BLZEnd

double DDTBH4Algo::m_BLZEnd
private

Definition at line 75 of file DDTBH4Algo.h.

Referenced by blZEnd(), and initialize().

◆ m_BLZPiv

double DDTBH4Algo::m_BLZPiv
private

Definition at line 76 of file DDTBH4Algo.h.

Referenced by blZPiv(), and initialize().

◆ m_FibCladMat

std::string DDTBH4Algo::m_FibCladMat
private

Definition at line 101 of file DDTBH4Algo.h.

Referenced by fibCladMat(), and initialize().

◆ m_FibCladName

std::string DDTBH4Algo::m_FibCladName
private

Definition at line 99 of file DDTBH4Algo.h.

Referenced by fibCladName(), and initialize().

◆ m_FibCladThick

double DDTBH4Algo::m_FibCladThick
private

Definition at line 103 of file DDTBH4Algo.h.

Referenced by fibCladThick(), and initialize().

◆ m_FibFibMat

std::string DDTBH4Algo::m_FibFibMat
private

Definition at line 100 of file DDTBH4Algo.h.

Referenced by fibFibMat(), and initialize().

◆ m_FibFibName

std::string DDTBH4Algo::m_FibFibName
private

Definition at line 98 of file DDTBH4Algo.h.

Referenced by fibFibName(), and initialize().

◆ m_FibLength

double DDTBH4Algo::m_FibLength
private

Definition at line 104 of file DDTBH4Algo.h.

Referenced by fibLength(), and initialize().

◆ m_FibSide

double DDTBH4Algo::m_FibSide
private

Definition at line 102 of file DDTBH4Algo.h.

Referenced by fibSide(), and initialize().

◆ m_HoleMat

std::string DDTBH4Algo::m_HoleMat
private

Definition at line 88 of file DDTBH4Algo.h.

Referenced by holeMat(), and initialize().

◆ m_idNameSpace

std::string DDTBH4Algo::m_idNameSpace
private

Definition at line 72 of file DDTBH4Algo.h.

Referenced by idNameSpace(), and initialize().

◆ m_TrgMat

std::string DDTBH4Algo::m_TrgMat
private

Definition at line 87 of file DDTBH4Algo.h.

Referenced by initialize(), and trgMat().

◆ m_TrgVetoHoleRadius

double DDTBH4Algo::m_TrgVetoHoleRadius
private

Definition at line 89 of file DDTBH4Algo.h.

Referenced by initialize(), and trgVetoHoleRadius().

◆ m_VacMat

std::string DDTBH4Algo::m_VacMat
private

Definition at line 79 of file DDTBH4Algo.h.

Referenced by initialize(), and vacMat().

◆ m_VacName

std::string DDTBH4Algo::m_VacName
private

Definition at line 78 of file DDTBH4Algo.h.

Referenced by initialize(), and vacName().

◆ m_vecFibPhi

std::vector<double> DDTBH4Algo::m_vecFibPhi
private

Definition at line 105 of file DDTBH4Algo.h.

Referenced by initialize(), and vecFibPhi().

◆ m_vecFibXOff

std::vector<double> DDTBH4Algo::m_vecFibXOff
private

Definition at line 106 of file DDTBH4Algo.h.

Referenced by initialize(), and vecFibXOff().

◆ m_vecFibYOff

std::vector<double> DDTBH4Algo::m_vecFibYOff
private

Definition at line 107 of file DDTBH4Algo.h.

Referenced by initialize(), and vecFibYOff().

◆ m_vecFibZPiv

std::vector<double> DDTBH4Algo::m_vecFibZPiv
private

Definition at line 108 of file DDTBH4Algo.h.

Referenced by initialize(), and vecFibZPiv().

◆ m_vecTrgName

std::vector<std::string> DDTBH4Algo::m_vecTrgName
private

Definition at line 90 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgName().

◆ m_vecTrgPhi

std::vector<double> DDTBH4Algo::m_vecTrgPhi
private

Definition at line 93 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgPhi().

◆ m_vecTrgSide

std::vector<double> DDTBH4Algo::m_vecTrgSide
private

Definition at line 91 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgSide().

◆ m_vecTrgThick

std::vector<double> DDTBH4Algo::m_vecTrgThick
private

Definition at line 92 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgThick().

◆ m_vecTrgXOff

std::vector<double> DDTBH4Algo::m_vecTrgXOff
private

Definition at line 94 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgXOff().

◆ m_vecTrgYOff

std::vector<double> DDTBH4Algo::m_vecTrgYOff
private

Definition at line 95 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgYOff().

◆ m_vecTrgZPiv

std::vector<double> DDTBH4Algo::m_vecTrgZPiv
private

Definition at line 96 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgZPiv().

◆ m_vecVacZBeg

std::vector<double> DDTBH4Algo::m_vecVacZBeg
private

Definition at line 80 of file DDTBH4Algo.h.

Referenced by initialize(), and vecVacZBeg().

◆ m_vecVacZEnd

std::vector<double> DDTBH4Algo::m_vecVacZEnd
private

Definition at line 81 of file DDTBH4Algo.h.

Referenced by initialize(), and vecVacZEnd().

◆ m_vecWinMat

std::vector<std::string> DDTBH4Algo::m_vecWinMat
private

Definition at line 83 of file DDTBH4Algo.h.

Referenced by initialize(), and vecWinMat().

◆ m_vecWinThick

std::vector<double> DDTBH4Algo::m_vecWinThick
private

Definition at line 85 of file DDTBH4Algo.h.

Referenced by initialize(), and vecWinThick().

◆ m_vecWinZBeg

std::vector<double> DDTBH4Algo::m_vecWinZBeg
private

Definition at line 84 of file DDTBH4Algo.h.

Referenced by initialize(), and vecWinZBeg().

◆ m_WinName

std::string DDTBH4Algo::m_WinName
private

Definition at line 82 of file DDTBH4Algo.h.

Referenced by initialize(), and winName().