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)
 
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)
 
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
 
virtual ~DDTBH4Algo ()
 

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 ( )

Definition at line 17 of file DDTBH4Algo.cc.

References gather_cfg::cout, and LogDebug.

17  :
18  m_idNameSpace (""),
19  m_BLZBeg (0),
20  m_BLZEnd (0),
21  m_BLZPiv (0),
22  m_BLRadius (0),
23  m_VacName (""),
24  m_VacMat (""),
25  m_vecVacZBeg (),
26  m_vecVacZEnd (),
27  m_WinName (""),
28  m_vecWinMat (),
29  m_vecWinZBeg (),
30  m_vecWinThick(),
31  m_TrgMat (""),
32  m_HoleMat (""),
34  m_vecTrgName (),
35  m_vecTrgSide (),
36  m_vecTrgThick(),
37  m_vecTrgPhi (),
38  m_vecTrgXOff (),
39  m_vecTrgYOff (),
40  m_vecTrgZPiv (),
41  m_FibFibName (""),
42  m_FibCladName (""),
43  m_FibFibMat (""),
44  m_FibCladMat (""),
45  m_FibSide (0),
46  m_FibCladThick(0),
47  m_FibLength (0),
48  m_vecFibPhi (),
49  m_vecFibXOff (),
50  m_vecFibYOff (),
51  m_vecFibZPiv ()
52 
53 {
54  std::cout<< "creating an instance if DDTBH4Algo" << std::endl ;
55  LogDebug("EcalGeom") << "DDTBH4Algo test: Creating an instance";
56 }
#define LogDebug(id)
std::string m_idNameSpace
Definition: DDTBH4Algo.h:73
std::string m_HoleMat
Definition: DDTBH4Algo.h:89
std::vector< double > m_vecFibXOff
Definition: DDTBH4Algo.h:107
std::string m_TrgMat
Definition: DDTBH4Algo.h:88
std::string m_FibCladMat
Definition: DDTBH4Algo.h:102
std::vector< double > m_vecWinThick
Definition: DDTBH4Algo.h:86
std::vector< double > m_vecTrgYOff
Definition: DDTBH4Algo.h:96
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
double m_FibSide
Definition: DDTBH4Algo.h:103
double m_FibCladThick
Definition: DDTBH4Algo.h:104
double m_BLZEnd
Definition: DDTBH4Algo.h:76
std::vector< double > m_vecWinZBeg
Definition: DDTBH4Algo.h:85
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
double m_BLZPiv
Definition: DDTBH4Algo.h:77
std::vector< double > m_vecTrgThick
Definition: DDTBH4Algo.h:93
std::vector< double > m_vecVacZEnd
Definition: DDTBH4Algo.h:82
std::vector< double > m_vecTrgSide
Definition: DDTBH4Algo.h:92
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
std::string m_FibFibMat
Definition: DDTBH4Algo.h:101
double m_BLZBeg
Definition: DDTBH4Algo.h:75
std::vector< double > m_vecVacZBeg
Definition: DDTBH4Algo.h:81
double m_BLRadius
Definition: DDTBH4Algo.h:78
std::vector< double > m_vecFibYOff
Definition: DDTBH4Algo.h:108
std::string m_WinName
Definition: DDTBH4Algo.h:83
std::string m_FibFibName
Definition: DDTBH4Algo.h:99
DDTBH4Algo::~DDTBH4Algo ( )
virtual

Definition at line 58 of file DDTBH4Algo.cc.

58 {}

Member Function Documentation

double DDTBH4Algo::blRadius ( ) const
inline

Definition at line 39 of file DDTBH4Algo.h.

References m_BLRadius.

Referenced by execute().

39 { return m_BLRadius ; }
double m_BLRadius
Definition: DDTBH4Algo.h:78
double DDTBH4Algo::blZBeg ( ) const
inline

Definition at line 36 of file DDTBH4Algo.h.

References m_BLZBeg.

Referenced by execute().

36 { return m_BLZBeg ; }
double m_BLZBeg
Definition: DDTBH4Algo.h:75
double DDTBH4Algo::blZEnd ( ) const
inline

Definition at line 37 of file DDTBH4Algo.h.

References m_BLZEnd.

Referenced by execute().

37 { return m_BLZEnd ; }
double m_BLZEnd
Definition: DDTBH4Algo.h:76
double DDTBH4Algo::blZPiv ( ) const
inline

Definition at line 38 of file DDTBH4Algo.h.

References m_BLZPiv.

Referenced by execute().

38 { return m_BLZPiv ; }
double m_BLZPiv
Definition: DDTBH4Algo.h:77
DDMaterial DDTBH4Algo::ddmat ( const std::string &  s) const

Definition at line 70 of file DDTBH4Algo.cc.

References ddname().

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

71 {
72  return DDMaterial( ddname( s ) ) ;
73 }
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:41
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:76
DDName DDTBH4Algo::ddname ( const std::string &  s) const

Definition at line 76 of file DDTBH4Algo.cc.

References DDSplit(), and groupFilesInBlocks::temp.

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

77 {
78  const std::pair<std::string,std::string> temp ( DDSplit(s) ) ;
79  return DDName( temp.first,
80  temp.second ) ;
81 }
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = &#39;:&#39;
Definition: DDSplit.cc:4
void DDTBH4Algo::execute ( DDCompactView cpv)

Definition at line 129 of file DDTBH4Algo.cc.

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

130 {
131  const unsigned int copyOne (1) ;
132 
133  const double halfZbl ( ( blZEnd() - blZBeg() )/2. ) ;
134  for( unsigned int i ( 0 ) ; i != vecVacZBeg().size() ; ++i )
135  {
136  DDName vacNameNm ( ddname( vacName() + std::to_string(i+1) ) ) ;
137  const double halfZvac ( ( vecVacZEnd()[i] - vecVacZBeg()[i] )/2. ) ;
138  DDSolid vTubeSolid ( DDSolidFactory::tubs( vacNameNm ,
139  halfZvac,
140  0,
141  blRadius(),
142  0*deg, 360*deg ) ) ;
143  const DDLogicalPart vacLog ( vacNameNm, vacMat(), vTubeSolid ) ;
144 
145  cpv.position( vacLog,
146  parent().name(),
147  1+i,
148  DDTranslation(0,0,
149  - halfZbl
150  + halfZvac
151  + vecVacZBeg()[i]
152  - blZBeg()),
153  DDRotation() ) ;
154  }
155 
156  for( unsigned int i ( 0 ) ; i != vecWinZBeg().size() ; ++i )
157  {
158  DDName wName ( ddname( winName() + std::to_string(i+1)) ) ;
159  DDSolid wTubeSolid ( DDSolidFactory::tubs( wName ,
160  vecWinThick()[i]/2.,
161  0,
162  blRadius(),
163  0*deg, 360*deg ) ) ;
164  const DDLogicalPart wLog ( wName, ddmat(vecWinMat()[i]), wTubeSolid ) ;
165 
166  const double off ( 0<vecWinZBeg()[i] ? vecWinZBeg()[i] :
167  fabs(vecWinZBeg()[i]) - vecWinThick()[i] ) ;
168 
169  cpv.position( wLog,
170  parent().name(),
171  1+i,
172  DDTranslation(0,0,
173  - halfZbl
174  + vecWinThick()[i]/2.
175  + off
176  - blZBeg() ),
177  DDRotation() ) ;
178  }
179 
180  for( unsigned int i ( 0 ) ; i != vecTrgName().size() ; ++i )
181  {
182  DDName tName ( ddname( vecTrgName()[i]) ) ;
183  DDSolid tSolid ( DDSolidFactory::box( tName ,
184  vecTrgSide()[ i]/2.,
185  vecTrgSide()[ i]/2.,
186  vecTrgThick()[i]/2. ) ) ;
187  const DDLogicalPart tLog ( tName, trgMat(), tSolid ) ;
188 
189  if( tName.name() == "VETO" )
190  {
191  DDName vName ( ddname( tName.name() + "Hole" ) ) ;
192  DDSolid vTubeSolid ( DDSolidFactory::tubs( vName ,
193  vecTrgThick()[i]/2.,
194  0,
196  0*deg, 360*deg ) ) ;
197  const DDLogicalPart vLog ( vName, holeMat(), vTubeSolid ) ;
198 
199  cpv.position( vLog,
200  tName,
201  copyOne,
202  DDTranslation(0,0,0),
203  DDRotation() ) ;
204  }
205 
206  cpv.position( tLog,
207  parent().name(),
208  copyOne,
210  vecTrgYOff()[i],
211  vecTrgZPiv()[i] - halfZbl + blZPiv() - blZBeg() ),
212  myrot( tName.name()+"Rot",
213  CLHEP::HepRotationZ( vecTrgPhi()[i]) ) ) ;
214  }
215 
216  DDName pName ( fibCladName() ) ;
217  const double planeWidth ( 32.5*fibSide() +
218  33.5*fibCladThick() ) ;
219  const double planeThick ( 2*fibSide() +
220  3*fibCladThick() ) ;
221  DDSolid pSolid ( DDSolidFactory::box( pName ,
222  planeWidth/2.,
223  fibLength()/2.,
224  planeThick/2. ) ) ;
225  const DDLogicalPart pLog ( pName, fibCladMat(), pSolid ) ;
226 
228  fibSide() /2.,
229  fibLength()/2.,
230  fibSide() /2.) ) ;
231 
232  const DDLogicalPart fLog ( fibFibName(), fibFibMat(), fSolid ) ;
233 
234  for( unsigned int j ( 0 ) ; j != 32 ; ++j )
235  {
236  const double xoff ( planeWidth/2. -
237  (1+ j)*fibCladThick() -
238  (1+ j)*fibSide() ) ;
239  const double zoff ( -planeThick/2 + fibCladThick() + fibSide()/2. ) ;
240  cpv.position( fLog,
241  pName,
242  1+j,
243  DDTranslation( xoff, 0, zoff ),
244  DDRotation() ) ;
245 
246  cpv.position( fLog,
247  pName,
248  33+j,
249  DDTranslation( xoff + (fibCladThick()+fibSide())/2.,0, -zoff),
250  DDRotation() ) ;
251  }
252  for( unsigned int i ( 0 ) ; i != vecFibZPiv().size() ; ++i )
253  {
254  cpv.position( pLog,
255  parent().name(),
256  1+i,
257  DDTranslation( vecFibXOff()[i] - 0.5*fibSide(),
258  vecFibYOff()[i],
259  vecFibZPiv()[i] - halfZbl + blZPiv() - blZBeg() ),
260  myrot( pName.name()+"Rot" + std::to_string(i),
261  CLHEP::HepRotationZ( vecFibPhi()[i]) ) ) ;
262  }
263 }
const std::vector< double > & vecFibPhi() const
Definition: DDTBH4Algo.h:67
DDMaterial fibFibMat() const
Definition: DDTBH4Algo.h:62
std::string vacName() const
Definition: DDTBH4Algo.h:40
const std::vector< double > & vecFibYOff() const
Definition: DDTBH4Algo.h:69
const std::vector< double > & vecTrgXOff() const
Definition: DDTBH4Algo.h:56
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:70
DDMaterial holeMat() const
Definition: DDTBH4Algo.h:50
const std::vector< double > & vecWinZBeg() const
Definition: DDTBH4Algo.h:46
double fibCladThick() const
Definition: DDTBH4Algo.h:65
void position(const DDLogicalPart &self, const DDLogicalPart &parent, std::string copyno, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=NULL)
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
double blZPiv() const
Definition: DDTBH4Algo.h:38
const std::vector< double > & vecTrgSide() const
Definition: DDTBH4Algo.h:53
DDMaterial vacMat() const
Definition: DDTBH4Algo.h:41
A DDSolid represents the shape of a part.
Definition: DDSolid.h:38
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:64
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 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
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:92
const std::vector< double > & vecTrgZPiv() const
Definition: DDTBH4Algo.h:58
const std::vector< double > & vecFibZPiv() const
Definition: DDTBH4Algo.h:70
double blZBeg() const
Definition: DDTBH4Algo.h:36
static DDSolid tubs(const DDName &name, double zhalf, double rIn, double rOut, double startPhi, double deltaPhi)
Definition: DDSolid.cc:983
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:816
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:76
std::string winName() const
Definition: DDTBH4Algo.h:44
const std::vector< double > & vecTrgThick() const
Definition: DDTBH4Algo.h:54
double blZEnd() const
Definition: DDTBH4Algo.h:37
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
const std::vector< double > & vecVacZEnd() const
Definition: DDTBH4Algo.h:43
const std::vector< double > & vecTrgYOff() const
Definition: DDTBH4Algo.h:57
DDName fibCladName() const
Definition: DDTBH4Algo.h:61
DDMaterial DDTBH4Algo::fibCladMat ( ) const
inline

Definition at line 63 of file DDTBH4Algo.h.

References ddmat(), and m_FibCladMat.

Referenced by execute().

63 { return ddmat(m_FibCladMat) ; }
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:70
std::string m_FibCladMat
Definition: DDTBH4Algo.h:102
DDName DDTBH4Algo::fibCladName ( ) const
inline

Definition at line 61 of file DDTBH4Algo.h.

References ddname(), and m_FibCladName.

Referenced by execute().

61 { return ddname(m_FibCladName) ; }
std::string m_FibCladName
Definition: DDTBH4Algo.h:100
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:76
double DDTBH4Algo::fibCladThick ( ) const
inline

Definition at line 65 of file DDTBH4Algo.h.

References m_FibCladThick.

Referenced by execute().

65 { return m_FibCladThick; }
double m_FibCladThick
Definition: DDTBH4Algo.h:104
DDMaterial DDTBH4Algo::fibFibMat ( ) const
inline

Definition at line 62 of file DDTBH4Algo.h.

References ddmat(), and m_FibFibMat.

Referenced by execute().

62 { return ddmat(m_FibFibMat) ; }
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:70
std::string m_FibFibMat
Definition: DDTBH4Algo.h:101
DDName DDTBH4Algo::fibFibName ( ) const
inline

Definition at line 60 of file DDTBH4Algo.h.

References ddname(), and m_FibFibName.

Referenced by execute().

60 { return ddname(m_FibFibName) ; }
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:76
std::string m_FibFibName
Definition: DDTBH4Algo.h:99
double DDTBH4Algo::fibLength ( ) const
inline

Definition at line 66 of file DDTBH4Algo.h.

References m_FibLength.

Referenced by execute().

66 { return m_FibLength ; }
double m_FibLength
Definition: DDTBH4Algo.h:105
double DDTBH4Algo::fibSide ( ) const
inline

Definition at line 64 of file DDTBH4Algo.h.

References m_FibSide.

Referenced by execute().

64 { return m_FibSide ; }
double m_FibSide
Definition: DDTBH4Algo.h:103
DDMaterial DDTBH4Algo::holeMat ( ) const
inline

Definition at line 50 of file DDTBH4Algo.h.

References ddmat(), and m_HoleMat.

Referenced by execute().

50 { return ddmat(m_HoleMat) ; }
std::string m_HoleMat
Definition: DDTBH4Algo.h:89
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:70
const std::string& DDTBH4Algo::idNameSpace ( ) const
inline

Definition at line 34 of file DDTBH4Algo.h.

References m_idNameSpace.

Referenced by myrot().

34 { return m_idNameSpace ; }
std::string m_idNameSpace
Definition: DDTBH4Algo.h:73
void DDTBH4Algo::initialize ( const DDNumericArguments nArgs,
const DDVectorArguments vArgs,
const DDMapArguments mArgs,
const DDStringArguments sArgs,
const DDStringVectorArguments vsArgs 
)

Definition at line 84 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().

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

Definition at line 62 of file DDTBH4Algo.cc.

References ddname(), DDrot(), and idNameSpace().

Referenced by execute().

64 {
65  return DDrot( ddname( idNameSpace() + ":" + s ), new DDRotationMatrix( r.xx(), r.xy(), r.xz(), r.yx(), r.yy(), r.yz(), r.zx(), r.zy(), r.zz() ) ) ;
66 }
const std::string & idNameSpace() const
Definition: DDTBH4Algo.h:34
DDRotation DDrot(const DDName &name, DDRotationMatrix *rot)
Definition of a uniquely identifiable rotation matrix named by DDName name.
Definition: DDRotation.cc:90
DDName ddname(const std::string &s) const
Definition: DDTBH4Algo.cc:76
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
DDMaterial DDTBH4Algo::trgMat ( ) const
inline

Definition at line 49 of file DDTBH4Algo.h.

References ddmat(), and m_TrgMat.

Referenced by execute().

49 { return ddmat(m_TrgMat) ; }
std::string m_TrgMat
Definition: DDTBH4Algo.h:88
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:70
double DDTBH4Algo::trgVetoHoleRadius ( ) const
inline

Definition at line 51 of file DDTBH4Algo.h.

References m_TrgVetoHoleRadius.

Referenced by execute().

51 { return m_TrgVetoHoleRadius; }
double m_TrgVetoHoleRadius
Definition: DDTBH4Algo.h:90
DDMaterial DDTBH4Algo::vacMat ( ) const
inline

Definition at line 41 of file DDTBH4Algo.h.

References ddmat(), and m_VacMat.

Referenced by execute().

41 { return ddmat(m_VacMat); }
DDMaterial ddmat(const std::string &s) const
Definition: DDTBH4Algo.cc:70
std::string m_VacMat
Definition: DDTBH4Algo.h:80
std::string DDTBH4Algo::vacName ( ) const
inline

Definition at line 40 of file DDTBH4Algo.h.

References m_VacName.

Referenced by execute().

40 { return m_VacName ; }
std::string m_VacName
Definition: DDTBH4Algo.h:79
const std::vector<double>& DDTBH4Algo::vecFibPhi ( ) const
inline

Definition at line 67 of file DDTBH4Algo.h.

References m_vecFibPhi.

Referenced by execute().

67 { return m_vecFibPhi ; }
std::vector< double > m_vecFibPhi
Definition: DDTBH4Algo.h:106
const std::vector<double>& DDTBH4Algo::vecFibXOff ( ) const
inline

Definition at line 68 of file DDTBH4Algo.h.

References m_vecFibXOff.

Referenced by execute().

68 { return m_vecFibXOff ; }
std::vector< double > m_vecFibXOff
Definition: DDTBH4Algo.h:107
const std::vector<double>& DDTBH4Algo::vecFibYOff ( ) const
inline

Definition at line 69 of file DDTBH4Algo.h.

References m_vecFibYOff.

Referenced by execute().

69 { return m_vecFibYOff ; }
std::vector< double > m_vecFibYOff
Definition: DDTBH4Algo.h:108
const std::vector<double>& DDTBH4Algo::vecFibZPiv ( ) const
inline

Definition at line 70 of file DDTBH4Algo.h.

References m_vecFibZPiv.

Referenced by execute().

70 { return m_vecFibZPiv ; }
std::vector< double > m_vecFibZPiv
Definition: DDTBH4Algo.h:109
const std::vector<std::string>& DDTBH4Algo::vecTrgName ( ) const
inline

Definition at line 52 of file DDTBH4Algo.h.

References m_vecTrgName.

Referenced by execute().

52 { return m_vecTrgName ; }
std::vector< std::string > m_vecTrgName
Definition: DDTBH4Algo.h:91
const std::vector<double>& DDTBH4Algo::vecTrgPhi ( ) const
inline

Definition at line 55 of file DDTBH4Algo.h.

References m_vecTrgPhi.

Referenced by execute().

55 { return m_vecTrgPhi ; }
std::vector< double > m_vecTrgPhi
Definition: DDTBH4Algo.h:94
const std::vector<double>& DDTBH4Algo::vecTrgSide ( ) const
inline

Definition at line 53 of file DDTBH4Algo.h.

References m_vecTrgSide.

Referenced by execute().

53 { return m_vecTrgSide ; }
std::vector< double > m_vecTrgSide
Definition: DDTBH4Algo.h:92
const std::vector<double>& DDTBH4Algo::vecTrgThick ( ) const
inline

Definition at line 54 of file DDTBH4Algo.h.

References m_vecTrgThick.

Referenced by execute().

54 { return m_vecTrgThick; }
std::vector< double > m_vecTrgThick
Definition: DDTBH4Algo.h:93
const std::vector<double>& DDTBH4Algo::vecTrgXOff ( ) const
inline

Definition at line 56 of file DDTBH4Algo.h.

References m_vecTrgXOff.

Referenced by execute().

56 { return m_vecTrgXOff ; }
std::vector< double > m_vecTrgXOff
Definition: DDTBH4Algo.h:95
const std::vector<double>& DDTBH4Algo::vecTrgYOff ( ) const
inline

Definition at line 57 of file DDTBH4Algo.h.

References m_vecTrgYOff.

Referenced by execute().

57 { return m_vecTrgYOff ; }
std::vector< double > m_vecTrgYOff
Definition: DDTBH4Algo.h:96
const std::vector<double>& DDTBH4Algo::vecTrgZPiv ( ) const
inline

Definition at line 58 of file DDTBH4Algo.h.

References m_vecTrgZPiv.

Referenced by execute().

58 { return m_vecTrgZPiv ; }
std::vector< double > m_vecTrgZPiv
Definition: DDTBH4Algo.h:97
const std::vector<double>& DDTBH4Algo::vecVacZBeg ( ) const
inline

Definition at line 42 of file DDTBH4Algo.h.

References m_vecVacZBeg.

Referenced by execute().

42 { return m_vecVacZBeg ; }
std::vector< double > m_vecVacZBeg
Definition: DDTBH4Algo.h:81
const std::vector<double>& DDTBH4Algo::vecVacZEnd ( ) const
inline

Definition at line 43 of file DDTBH4Algo.h.

References m_vecVacZEnd.

Referenced by execute().

43 { return m_vecVacZEnd ; }
std::vector< double > m_vecVacZEnd
Definition: DDTBH4Algo.h:82
const std::vector<std::string>& DDTBH4Algo::vecWinMat ( ) const
inline

Definition at line 45 of file DDTBH4Algo.h.

References m_vecWinMat.

Referenced by execute().

45 { return m_vecWinMat ; }
std::vector< std::string > m_vecWinMat
Definition: DDTBH4Algo.h:84
const std::vector<double>& DDTBH4Algo::vecWinThick ( ) const
inline

Definition at line 47 of file DDTBH4Algo.h.

References m_vecWinThick.

Referenced by execute().

47 { return m_vecWinThick; }
std::vector< double > m_vecWinThick
Definition: DDTBH4Algo.h:86
const std::vector<double>& DDTBH4Algo::vecWinZBeg ( ) const
inline

Definition at line 46 of file DDTBH4Algo.h.

References m_vecWinZBeg.

Referenced by execute().

46 { return m_vecWinZBeg ; }
std::vector< double > m_vecWinZBeg
Definition: DDTBH4Algo.h:85
std::string DDTBH4Algo::winName ( ) const
inline

Definition at line 44 of file DDTBH4Algo.h.

References m_WinName.

Referenced by execute().

44 { return m_WinName ; }
std::string m_WinName
Definition: DDTBH4Algo.h:83

Member Data Documentation

double DDTBH4Algo::m_BLRadius
private

Definition at line 78 of file DDTBH4Algo.h.

Referenced by blRadius(), and initialize().

double DDTBH4Algo::m_BLZBeg
private

Definition at line 75 of file DDTBH4Algo.h.

Referenced by blZBeg(), and initialize().

double DDTBH4Algo::m_BLZEnd
private

Definition at line 76 of file DDTBH4Algo.h.

Referenced by blZEnd(), and initialize().

double DDTBH4Algo::m_BLZPiv
private

Definition at line 77 of file DDTBH4Algo.h.

Referenced by blZPiv(), and initialize().

std::string DDTBH4Algo::m_FibCladMat
private

Definition at line 102 of file DDTBH4Algo.h.

Referenced by fibCladMat(), and initialize().

std::string DDTBH4Algo::m_FibCladName
private

Definition at line 100 of file DDTBH4Algo.h.

Referenced by fibCladName(), and initialize().

double DDTBH4Algo::m_FibCladThick
private

Definition at line 104 of file DDTBH4Algo.h.

Referenced by fibCladThick(), and initialize().

std::string DDTBH4Algo::m_FibFibMat
private

Definition at line 101 of file DDTBH4Algo.h.

Referenced by fibFibMat(), and initialize().

std::string DDTBH4Algo::m_FibFibName
private

Definition at line 99 of file DDTBH4Algo.h.

Referenced by fibFibName(), and initialize().

double DDTBH4Algo::m_FibLength
private

Definition at line 105 of file DDTBH4Algo.h.

Referenced by fibLength(), and initialize().

double DDTBH4Algo::m_FibSide
private

Definition at line 103 of file DDTBH4Algo.h.

Referenced by fibSide(), and initialize().

std::string DDTBH4Algo::m_HoleMat
private

Definition at line 89 of file DDTBH4Algo.h.

Referenced by holeMat(), and initialize().

std::string DDTBH4Algo::m_idNameSpace
private

Definition at line 73 of file DDTBH4Algo.h.

Referenced by idNameSpace(), and initialize().

std::string DDTBH4Algo::m_TrgMat
private

Definition at line 88 of file DDTBH4Algo.h.

Referenced by initialize(), and trgMat().

double DDTBH4Algo::m_TrgVetoHoleRadius
private

Definition at line 90 of file DDTBH4Algo.h.

Referenced by initialize(), and trgVetoHoleRadius().

std::string DDTBH4Algo::m_VacMat
private

Definition at line 80 of file DDTBH4Algo.h.

Referenced by initialize(), and vacMat().

std::string DDTBH4Algo::m_VacName
private

Definition at line 79 of file DDTBH4Algo.h.

Referenced by initialize(), and vacName().

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

Definition at line 106 of file DDTBH4Algo.h.

Referenced by initialize(), and vecFibPhi().

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

Definition at line 107 of file DDTBH4Algo.h.

Referenced by initialize(), and vecFibXOff().

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

Definition at line 108 of file DDTBH4Algo.h.

Referenced by initialize(), and vecFibYOff().

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

Definition at line 109 of file DDTBH4Algo.h.

Referenced by initialize(), and vecFibZPiv().

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

Definition at line 91 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgName().

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

Definition at line 94 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgPhi().

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

Definition at line 92 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgSide().

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

Definition at line 93 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgThick().

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

Definition at line 95 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgXOff().

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

Definition at line 96 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgYOff().

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

Definition at line 97 of file DDTBH4Algo.h.

Referenced by initialize(), and vecTrgZPiv().

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

Definition at line 81 of file DDTBH4Algo.h.

Referenced by initialize(), and vecVacZBeg().

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

Definition at line 82 of file DDTBH4Algo.h.

Referenced by initialize(), and vecVacZEnd().

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

Definition at line 84 of file DDTBH4Algo.h.

Referenced by initialize(), and vecWinMat().

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

Definition at line 86 of file DDTBH4Algo.h.

Referenced by initialize(), and vecWinThick().

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

Definition at line 85 of file DDTBH4Algo.h.

Referenced by initialize(), and vecWinZBeg().

std::string DDTBH4Algo::m_WinName
private

Definition at line 83 of file DDTBH4Algo.h.

Referenced by initialize(), and winName().