ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Attributes | List of all members
GeoPixelStaveRingServices Class Reference

#include <GeoPixelStaveRingServices.h>

Inheritance diagram for GeoPixelStaveRingServices:
Collaboration diagram for GeoPixelStaveRingServices:

Public Member Functions

 GeoPixelStaveRingServices (InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * >> mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * >> mapAX, GeoPixelLadder &ladder, GeoPixelStaveSupport &staveSupport)
 
virtual GeoVPhysVol * Build () override
 
GeoPhysVol * getSupportA ()
 
GeoPhysVol * getSupportC ()
 
GeoVPhysVol * getSupportMidRing ()
 
GeoTransform * getSupportTrfA ()
 
GeoTransform * getSupportTrfC ()
 
GeoTransform * getSupportTrfMidRing ()
 

Protected Attributes

PixelGeometryManagerm_gmt_mgr
 
InDetMaterialManagerm_mat_mgr
 
InDetDD::PixelDetectorManagerm_DDmgr
 
GeoModelIO::ReadGeoModel * m_sqliteReader
 
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
 
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
 
const double m_epsilon
 

Private Attributes

GeoPixelLadderm_ladder
 
GeoPixelStaveSupportm_staveSupport
 
GeoNodePtr< GeoPhysVol > m_supportPhysA
 
GeoNodePtr< GeoPhysVol > m_supportPhysC
 
GeoNodePtr< GeoVPhysVol > m_supportMidRing
 
GeoNodePtr< GeoTransform > m_xformSupportA
 
GeoNodePtr< GeoTransform > m_xformSupportC
 
GeoNodePtr< GeoTransform > m_xformSupportMidRing
 

Detailed Description

Definition at line 18 of file GeoPixelStaveRingServices.h.

Constructor & Destructor Documentation

◆ GeoPixelStaveRingServices()

GeoPixelStaveRingServices::GeoPixelStaveRingServices ( InDetDD::PixelDetectorManager ddmgr,
PixelGeometryManager mgr,
GeoModelIO::ReadGeoModel *  sqliteReader,
std::shared_ptr< std::map< std::string, GeoFullPhysVol * >>  mapFPV,
std::shared_ptr< std::map< std::string, GeoAlignableTransform * >>  mapAX,
GeoPixelLadder ladder,
GeoPixelStaveSupport staveSupport 
)

Definition at line 27 of file GeoPixelStaveRingServices.cxx.

34  : GeoVPixelFactory (ddmgr, mgr, sqliteReader, mapFPV, mapAX)
35  , m_ladder(ladder)
36  , m_staveSupport(staveSupport)
37  , m_supportPhysA(nullptr)
38  , m_supportPhysC(nullptr)
39  , m_supportMidRing(nullptr)
40  , m_xformSupportA(nullptr)
41  , m_xformSupportC(nullptr)
42  , m_xformSupportMidRing(nullptr)
43 {
44 }

Member Function Documentation

◆ Build()

GeoVPhysVol * GeoPixelStaveRingServices::Build ( )
overridevirtual

Implements GeoVPixelFactory.

Definition at line 46 of file GeoPixelStaveRingServices.cxx.

47 {
48 
49  m_gmt_mgr->msg(MSG::INFO) <<"Build IBL stave ring services"<<endmsg;
50 
51  if(m_sqliteReader) {
53  staveRing.SetParametersAndBuild("Brl0A_StaveRing","AC");
54  staveRing.SetParametersAndBuild("Brl0C_StaveRing","AC");
55  return nullptr;
56  }
57 
58  double layerRadius = m_gmt_mgr->PixelLayerRadius();
59  double ladderTilt = m_gmt_mgr->PixelLadderTilt();
60  int nSectors = m_gmt_mgr->NPixelSectors();
61 
62  double ladderHalfThickN = m_ladder.thicknessN();
63  double ladderHalfThickP = m_ladder.thicknessP();
64  double safetyMargin = 0.001*Gaudi::Units::mm;
65 
66  // Get endblock from m_staveSupport
67  GeoPhysVol* endblockA=dynamic_cast<GeoPhysVol*>(m_staveSupport.getEndblockEnvelopShape(2));
68  GeoPhysVol* endblockC=dynamic_cast<GeoPhysVol*>(m_staveSupport.getEndblockEnvelopShape(-2));
69  double endblockZpos=m_staveSupport.getEndblockZpos();
70  double serviceZpos=m_staveSupport.getServiceZpos();
71  double endblockLength=m_staveSupport.getEndblockLength();
72  GeoPhysVol* endblockFlex=dynamic_cast<GeoPhysVol*>(m_staveSupport.getEndblockEnvelopShape(1));
73  GeoTransform* endblockFlexTrf=m_staveSupport.getEndblockEnvelopShapeTrf(1);
74  GeoPhysVol* serviceCoolPipe=dynamic_cast<GeoPhysVol*>(m_staveSupport.getEndblockEnvelopShape(3));
75  GeoTransform* serviceCoolPipeTrfA=m_staveSupport.getEndblockEnvelopShapeTrf(2);
76  GeoTransform* serviceCoolPipeTrfC=m_staveSupport.getEndblockEnvelopShapeTrf(-2);
77  const GeoTrf::Transform3D ladderLocalTrf=m_staveSupport.transform();
78  double dogLegStaveLength=17.87;
79  double halfSupportLength=endblockLength*0.5+dogLegStaveLength*0.5;
80 
81  m_gmt_mgr->msg(MSG::DEBUG)<<"IBL EOS : "<<endblockZpos<<" "<<serviceZpos<<" "<<endblockLength<<endmsg;
82  if((!endblockA) || (!endblockC) || (!endblockFlex) || (!serviceCoolPipe))
83  {
84  m_gmt_mgr->msg(MSG::ERROR) <<"dynamic_cast failure in "<<__FILE__<< ":"<< __LINE__<<endmsg;
85  std::abort();
86  }
87 
88  // Define staveRing for side A
90  std::ostringstream lnameA;
91  lnameA << "Brl0A_StaveRing";
92  GeoVPhysVol* ringphysA = staveRing.SetParametersAndBuild(lnameA.str(),"AC");
93  GeoNameTag *tagA = new GeoNameTag(lnameA.str());
94 
95  // Define staveRing for side C
96  std::ostringstream lnameC;
97  lnameC << "Brl0C_StaveRing";
98  GeoVPhysVol* ringphysC = staveRing.SetParametersAndBuild(lnameC.str(),"AC");
99  GeoNameTag *tagC = new GeoNameTag(lnameC.str());
100 
101  // Get assembly min and max radius
102  double innerRadius = staveRing.GetInnerRadius()-safetyMargin;
103 
104  double zmin = serviceZpos-(endblockLength*0.5+dogLegStaveLength*0.5);
105  double zmax = serviceZpos+(endblockLength*0.5+dogLegStaveLength*0.5);
106  double outerRadius = m_gmt_mgr->IBLServiceGetMinRadialPosition("IST","simple",zmin, zmax);
107 
108  //layerRadius+ladderHalfThickP+m_staveSupport.thicknessP();
109 
110  m_gmt_mgr->msg(MSG::DEBUG)<<"Support assembly : "<<innerRadius<<" "<<outerRadius<<" ladderThickP "<<ladderHalfThickP<<" "<<ladderHalfThickN<<
111  " supportThickP "<<m_staveSupport.thicknessP()<<" "<<m_staveSupport.thicknessN()<<endmsg;
112 
113 
114  const GeoTube* supportShape = new GeoTube(innerRadius,outerRadius,endblockLength*0.5+dogLegStaveLength*0.5);
115  const GeoMaterial* ether = m_mat_mgr->getMaterial("special::Ether");
116  GeoLogVol* supportLogVol_A = new GeoLogVol("StaveRingAndEndblocks_A",supportShape,ether);
117  GeoLogVol* supportLogVol_C = new GeoLogVol("StaveRingAndEndblocks_C",supportShape,ether);
118 
119  // GeoPhysVol *supportPhysA = new GeoPhysVol(supportLogVol_A);
120  // GeoPhysVol *supportPhysC = new GeoPhysVol(supportLogVol_C);
121 
122  m_supportPhysA = new GeoPhysVol(supportLogVol_A);
123  m_supportPhysC = new GeoPhysVol(supportLogVol_C);
124 
125  if(nSectors==0){
126  m_gmt_mgr->msg(MSG::ERROR)<<"No phi sectors defined"<<std::endl;
127  }
128  else {
129 
130  double angle=360./nSectors*Gaudi::Units::deg;
131  GeoTrf::Transform3D transRadiusAndTilt = GeoTrf::TranslateX3D(layerRadius)*GeoTrf::RotateZ3D(ladderTilt);
132  double phiOfModuleZero = m_gmt_mgr->PhiOfModuleZero();
133 
134  if(m_gmt_mgr->PixelStaveAxe()==1)
135  {
136  // Point that defines the center of the cooling pipe
137  GeoTrf::Vector3D centerCoolingPipe = m_gmt_mgr->IBLStaveRotationAxis() ;
138 
139  // Transforms
140  GeoTrf::Transform3D staveTrf = GeoTrf::RotateZ3D(ladderTilt)*GeoTrf::Translate3D(-centerCoolingPipe.x(),-centerCoolingPipe.y(),-centerCoolingPipe.z());
141  double staveRadius = m_gmt_mgr->IBLStaveRadius() ;
142 
143  transRadiusAndTilt = GeoTrf::TranslateX3D(staveRadius)*staveTrf;
144  }
145 
146  for(int ii = 0; ii < nSectors; ii++) {
147  m_gmt_mgr->SetPhi(ii);
148 
149  double phiOfSector = phiOfModuleZero + ii*angle;
150 
151  // transform equiv RotZ(phiOfSector)*TransZ(layerRadius)*RotZ(tilt)
152  GeoTrf::Transform3D ladderTransform = GeoTrf::RotateZ3D(phiOfSector) * transRadiusAndTilt ;
153 
154  //
155  // Place endblock and endblock flex
156  //
157  std::ostringstream nameTag;
158  nameTag << "Endblock" << ii;
159  GeoNameTag * tag = new GeoNameTag(nameTag.str());
160  GeoTransform* xformA = new GeoTransform(ladderTransform*ladderLocalTrf*GeoTrf::TranslateZ3D(endblockZpos-serviceZpos-dogLegStaveLength*0.5));
161  m_supportPhysA->add(tag);
162  m_supportPhysA->add(xformA);
163  m_supportPhysA->add(endblockA);
164 
165  GeoTransform* xformC = new GeoTransform(ladderTransform*ladderLocalTrf*GeoTrf::TranslateZ3D(-endblockZpos+serviceZpos+dogLegStaveLength*0.5));
166  m_supportPhysC->add(tag);
167  m_supportPhysC->add(xformC);
168  m_supportPhysC->add(endblockC);
169 
170  //
171  // Add endblock flex section
172  //
173  std::ostringstream nameTagFlex;
174  nameTagFlex << "EndblockFlex" << ii;
175  GeoNameTag * tagFlex = new GeoNameTag(nameTagFlex.str());
176  GeoTransform* xformFlexA = new GeoTransform(ladderTransform*ladderLocalTrf*(endblockFlexTrf->getTransform())*GeoTrf::TranslateZ3D(-dogLegStaveLength*0.5));
177  GeoTransform* xformFlexB = new GeoTransform(ladderTransform*ladderLocalTrf*(endblockFlexTrf->getTransform())*GeoTrf::TranslateZ3D(dogLegStaveLength*0.5));
178 
179  m_supportPhysA->add(tagFlex);
180  m_supportPhysA->add(xformFlexA);
181  m_supportPhysA->add(endblockFlex);
182 
183  m_supportPhysC->add(tagFlex);
184  m_supportPhysC->add(xformFlexB);
185  m_supportPhysC->add(endblockFlex);
186 
187  //
188  // Add cooling pipe service
189  //
190  if(serviceCoolPipe){
191  std::ostringstream nameTagPipe;
192  nameTagPipe << "ServicePipe" << ii;
193  GeoNameTag * tagPipe = new GeoNameTag(nameTagPipe.str());
194  GeoTransform* xformPipeA = new GeoTransform(ladderTransform*ladderLocalTrf*(serviceCoolPipeTrfA->getTransform())) ;
195  m_supportPhysA->add(tagPipe);
196  m_supportPhysA->add(xformPipeA);
197  m_supportPhysA->add(serviceCoolPipe);
198 
199  GeoTransform* xformPipeC = new GeoTransform(ladderTransform*ladderLocalTrf*(serviceCoolPipeTrfC->getTransform()));
200  m_supportPhysC->add(tagPipe);
201  m_supportPhysC->add(xformPipeC);
202  m_supportPhysC->add(serviceCoolPipe);
203 
204 // GeoTrf::Vector3D p=ladderTransform*ladderLocalTrf*(serviceCoolPipeTrfA->getTransform())*GeoTrf::Vector3D(0.,0.,0.);
205  // std::cout<<"Cooling pipe srv : "<<p.x()<<" "<<p.y()<<" "<<p.z();
206  // std::cout<<" r : "<<sqrt(p.x()*p.x()+p.y()*p.y())<<" ";
207  // std::cout<<" ang : "<<acos(p.x()/sqrt(p.x()*p.x()+p.y()*p.y()))*180./M_PI<<" ";
208  // std::cout<<std::endl;
209 
210 
211  //
212  // flex dogleg
213  //
214 
216  double eoStave=halfSupportLength-dogLegStaveLength;
217 
218  double height1=m_gmt_mgr->IBLFlexDoglegHeight(1);
219  double height2=m_gmt_mgr->IBLFlexDoglegHeight(2);
221 
222  double alpha1=atan(height1/(length*part1));
223  double alpha2=atan(height2/(length*(1.-part1)));
224 
225  double dimX_lin=length*part1;
226  double dimX=dimX_lin/cos(alpha1)-.15;
227  double dimY=m_gmt_mgr->IBLStaveFlexWidth();
228  double dimZ=m_gmt_mgr->IBLStaveFlexBaseThickness();
229  double angle=90.*Gaudi::Units::deg-alpha1; //90.-27.99;
230  double delta=m_gmt_mgr->IBLFlexDoglegDY();
231  double trX=-dimX_lin*tan(alpha1)*0.5; //-3.28;
232  double trZ=eoStave+dimX_lin*0.5;
233 
234  std::vector<double> xShape, yShape;
235  xShape.push_back(dimX*0.5); yShape.push_back(dimY*0.5);
236  xShape.push_back(-dimX*0.5); yShape.push_back(dimY*0.5+delta);
237  xShape.push_back(-dimX*0.5); yShape.push_back(-dimY*0.5+delta);
238  xShape.push_back(dimX*0.5); yShape.push_back(-dimY*0.5);
239  GeoSimplePolygonBrep* tmp_shape = new GeoSimplePolygonBrep(dimZ*0.5);
240  for(unsigned int iPt=0; iPt<xShape.size(); iPt++) tmp_shape->addVertex(xShape[iPt],yShape[iPt]);
241 
242 
243  // GeoPara * tmp_shape = new GeoPara(0.47,5.5,9.,0.*Gaudi::Units::deg,55.*Gaudi::Units::deg,0.);
244  std::string flexMatName = m_gmt_mgr->IBLFlexMaterial(1,"doglegA");
245  const GeoMaterial* tmp_material = m_mat_mgr->getMaterial(flexMatName);
246  GeoLogVol* tmp_logVol = new GeoLogVol("FlexDogLeg1",tmp_shape,tmp_material);
247  GeoPhysVol * tmp_logVolPV = new GeoPhysVol(tmp_logVol);
248  GeoNameTag* tmp_tag = new GeoNameTag("FlexDogLeg1");
249  GeoTrf::Transform3D trfGblA=ladderTransform*ladderLocalTrf*GeoTrf::TranslateX3D(trX)*GeoTrf::TranslateZ3D(trZ)*(endblockFlexTrf->getTransform())*GeoTrf::RotateY3D(angle);
250  GeoTransform* tmp_xformA = new GeoTransform(trfGblA);
251 
252  m_supportPhysA->add(tmp_tag);
253  m_supportPhysA->add(tmp_xformA);
254  m_supportPhysA->add(tmp_logVolPV);
255 
256  trX=-dimX_lin*tan(alpha1)*0.5; //-3.28;
257  trZ=-(eoStave+dimX_lin*0.5);
258  GeoTrf::Transform3D trfGblC=ladderTransform*ladderLocalTrf*GeoTrf::TranslateX3D(trX)*GeoTrf::TranslateZ3D(trZ)*(endblockFlexTrf->getTransform())*GeoTrf::RotateY3D(-angle);
259  GeoTransform* tmp_xformC = new GeoTransform(trfGblC);
260 
261  m_supportPhysC->add(tmp_tag);
262  m_supportPhysC->add(tmp_xformC);
263  m_supportPhysC->add(tmp_logVolPV);
264 
265  //
266  // flex : from dogleg to longitudinal
267  //
268  double dimX2_lin=length*(1.-part1);
269  double dimX2=dimX2_lin/cos(alpha2)-.15;
270  double dimY2=m_gmt_mgr->IBLStaveFlexWidth();
271  double trX2=trX*2.-dimX2_lin*tan(alpha2)*0.5; //-3.28;
272  double trZ2=eoStave+dimX_lin+dimX2_lin*0.5;
273  xShape.clear(); yShape.clear();
274  angle=90.*Gaudi::Units::deg-alpha2;
275  xShape.push_back(dimX2*0.5); yShape.push_back(dimY2*0.5);
276  xShape.push_back(-dimX2*0.5); yShape.push_back(dimY2*0.5);
277  xShape.push_back(-dimX2*0.5); yShape.push_back(-dimY2*0.5);
278  xShape.push_back(dimX2*0.5); yShape.push_back(-dimY2*0.5);
279  GeoSimplePolygonBrep* tmp2_shape = new GeoSimplePolygonBrep(dimZ*0.5);
280  for(unsigned int iPt=0; iPt<xShape.size(); iPt++) tmp2_shape->addVertex(xShape[iPt],yShape[iPt]);
281 
282  const GeoMaterial* tmp2_material = m_mat_mgr->getMaterial(flexMatName);
283  GeoLogVol* tmp2_logVol = new GeoLogVol("FlexDogLeg2",tmp2_shape,tmp2_material);
284  GeoPhysVol * tmp2_logVolPV = new GeoPhysVol(tmp2_logVol);
285  GeoNameTag* tmp2_tag = new GeoNameTag("FlexDogLeg2");
286 
287  GeoTransform* tmp2_xformA = new GeoTransform(ladderTransform*ladderLocalTrf*GeoTrf::TranslateX3D(trX2)*GeoTrf::TranslateZ3D(trZ2)*(endblockFlexTrf->getTransform())*GeoTrf::RotateY3D(angle)*GeoTrf::TranslateY3D(delta*.75));
288  m_supportPhysA->add(tmp2_tag);
289  m_supportPhysA->add(tmp2_xformA);
290  m_supportPhysA->add(tmp2_logVolPV);
291 
292  trZ2=-(eoStave+dimX_lin+dimX2_lin*0.5);
293  GeoTransform* tmp2_xformC = new GeoTransform(ladderTransform*ladderLocalTrf*GeoTrf::TranslateX3D(trX2)*GeoTrf::TranslateZ3D(trZ2)*(endblockFlexTrf->getTransform())*GeoTrf::RotateY3D(-angle)*GeoTrf::TranslateY3D(delta*.75));
294  m_supportPhysC->add(tmp2_tag);
295  m_supportPhysC->add(tmp2_xformC);
296  m_supportPhysC->add(tmp2_logVolPV);
297  }
298  }
299  }
300 
301  // IBL layer shift ( 2mm shift issue )
302  double layerZshift = m_gmt_mgr->PixelLayerGlobalShift();
303 
304  GeoTrf::Translate3D ring_posA(0.0,0.0,staveRing.GetPositionAlongZAxis()-serviceZpos-dogLegStaveLength*0.5+layerZshift);
305  GeoTransform* xformA = new GeoTransform(ring_posA);
306  m_supportPhysA->add(tagA);
307  m_supportPhysA->add(xformA);
308  m_supportPhysA->add(ringphysA);
309 
310  GeoTrf::Translate3D ring_posC(0.0,0.0,-staveRing.GetPositionAlongZAxis()+serviceZpos+dogLegStaveLength*0.5-layerZshift);
311  GeoTransform* xformC = new GeoTransform(ring_posC);
312  m_supportPhysC->add(tagC);
313  m_supportPhysC->add(xformC);
314  m_supportPhysC->add(ringphysC);
315 
316  m_gmt_mgr->msg(MSG::DEBUG)<<"IBL EOS : zpos "<<serviceZpos<<endmsg;
317  GeoTrf::Transform3D supportTrfA = GeoTrf::TranslateZ3D(serviceZpos+dogLegStaveLength*0.5+layerZshift);
318  m_xformSupportA = new GeoTransform(supportTrfA);
319 
320  GeoTrf::Transform3D supportTrfC = GeoTrf::TranslateZ3D(-serviceZpos-dogLegStaveLength*0.5+layerZshift);
321  m_xformSupportC = new GeoTransform(supportTrfC);
322 
323  std::ostringstream lnameM;
324  lnameM << "Brl0M_StaveRing";
325  m_supportMidRing = staveRing.SetParametersAndBuild(lnameM.str(),"Mid");
326  GeoTrf::Translate3D ring_posM(0.0,0.0,0.0+layerZshift);
327  m_xformSupportMidRing = new GeoTransform(ring_posM);
328 
329 
330  return nullptr;
331 
332 }

◆ getSupportA()

GeoPhysVol* GeoPixelStaveRingServices::getSupportA ( )
inline

Definition at line 31 of file GeoPixelStaveRingServices.h.

31 { return m_supportPhysA; }

◆ getSupportC()

GeoPhysVol* GeoPixelStaveRingServices::getSupportC ( )
inline

Definition at line 32 of file GeoPixelStaveRingServices.h.

32 { return m_supportPhysC; }

◆ getSupportMidRing()

GeoVPhysVol* GeoPixelStaveRingServices::getSupportMidRing ( )
inline

Definition at line 33 of file GeoPixelStaveRingServices.h.

33 { return m_supportMidRing; }

◆ getSupportTrfA()

GeoTransform* GeoPixelStaveRingServices::getSupportTrfA ( )
inline

Definition at line 35 of file GeoPixelStaveRingServices.h.

35 { return m_xformSupportA; }

◆ getSupportTrfC()

GeoTransform* GeoPixelStaveRingServices::getSupportTrfC ( )
inline

Definition at line 36 of file GeoPixelStaveRingServices.h.

36 { return m_xformSupportC; }

◆ getSupportTrfMidRing()

GeoTransform* GeoPixelStaveRingServices::getSupportTrfMidRing ( )
inline

Definition at line 37 of file GeoPixelStaveRingServices.h.

37 { return m_xformSupportMidRing; }

Member Data Documentation

◆ m_DDmgr

InDetDD::PixelDetectorManager* GeoVPixelFactory::m_DDmgr
protectedinherited

Definition at line 45 of file GeoVPixelFactory.h.

◆ m_epsilon

const double GeoVPixelFactory::m_epsilon
protectedinherited

Definition at line 49 of file GeoVPixelFactory.h.

◆ m_gmt_mgr

PixelGeometryManager* GeoVPixelFactory::m_gmt_mgr
protectedinherited

Definition at line 43 of file GeoVPixelFactory.h.

◆ m_ladder

GeoPixelLadder& GeoPixelStaveRingServices::m_ladder
private

Definition at line 41 of file GeoPixelStaveRingServices.h.

◆ m_mapAX

std::shared_ptr<std::map<std::string, GeoAlignableTransform*> > GeoVPixelFactory::m_mapAX
protectedinherited

Definition at line 48 of file GeoVPixelFactory.h.

◆ m_mapFPV

std::shared_ptr<std::map<std::string, GeoFullPhysVol*> > GeoVPixelFactory::m_mapFPV
protectedinherited

Definition at line 47 of file GeoVPixelFactory.h.

◆ m_mat_mgr

InDetMaterialManager* GeoVPixelFactory::m_mat_mgr
protectedinherited

Definition at line 44 of file GeoVPixelFactory.h.

◆ m_sqliteReader

GeoModelIO::ReadGeoModel* GeoVPixelFactory::m_sqliteReader
protectedinherited

Definition at line 46 of file GeoVPixelFactory.h.

◆ m_staveSupport

GeoPixelStaveSupport& GeoPixelStaveRingServices::m_staveSupport
private

Definition at line 42 of file GeoPixelStaveRingServices.h.

◆ m_supportMidRing

GeoNodePtr<GeoVPhysVol> GeoPixelStaveRingServices::m_supportMidRing
private

Definition at line 46 of file GeoPixelStaveRingServices.h.

◆ m_supportPhysA

GeoNodePtr<GeoPhysVol> GeoPixelStaveRingServices::m_supportPhysA
private

Definition at line 44 of file GeoPixelStaveRingServices.h.

◆ m_supportPhysC

GeoNodePtr<GeoPhysVol> GeoPixelStaveRingServices::m_supportPhysC
private

Definition at line 45 of file GeoPixelStaveRingServices.h.

◆ m_xformSupportA

GeoNodePtr<GeoTransform> GeoPixelStaveRingServices::m_xformSupportA
private

Definition at line 48 of file GeoPixelStaveRingServices.h.

◆ m_xformSupportC

GeoNodePtr<GeoTransform> GeoPixelStaveRingServices::m_xformSupportC
private

Definition at line 49 of file GeoPixelStaveRingServices.h.

◆ m_xformSupportMidRing

GeoNodePtr<GeoTransform> GeoPixelStaveRingServices::m_xformSupportMidRing
private

Definition at line 50 of file GeoPixelStaveRingServices.h.


The documentation for this class was generated from the following files:
PixelGeometryManager::IBLFlexDoglegDY
virtual double IBLFlexDoglegDY()=0
PixelGeometryManager::PixelLayerGlobalShift
virtual double PixelLayerGlobalShift()=0
GeoPixelStaveSupport::getEndblockEnvelopShape
virtual GeoVPhysVol * getEndblockEnvelopShape(int)=0
PixelGeometryManager::IBLFlexDoglegRatio
virtual double IBLFlexDoglegRatio()=0
PixelGeometryManager::msg
MsgStream & msg(MSG::Level lvl) const
Definition: PixelGeometryManager.h:611
PixelAthClusterMonAlgCfg.zmin
zmin
Definition: PixelAthClusterMonAlgCfg.py:176
GeoPixelStaveRingServices::m_xformSupportC
GeoNodePtr< GeoTransform > m_xformSupportC
Definition: GeoPixelStaveRingServices.h:49
GeoPixelStaveSupport::transform
virtual const GeoTrf::Transform3D & transform() const =0
GeoPixelLadder::thicknessN
double thicknessN() const
Definition: GeoPixelLadder.h:31
deg
#define deg
Definition: SbPolyhedron.cxx:17
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
PixelGeometryManager::IBLStaveFlexBaseThickness
virtual double IBLStaveFlexBaseThickness()=0
GeoVPixelFactory::m_mapAX
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
Definition: GeoVPixelFactory.h:48
GeoVPixelFactory::m_sqliteReader
GeoModelIO::ReadGeoModel * m_sqliteReader
Definition: GeoVPixelFactory.h:46
PixelGeometryManager::IBLStaveRotationAxis
virtual GeoTrf::Vector3D IBLStaveRotationAxis()=0
GeoVPixelFactory::m_DDmgr
InDetDD::PixelDetectorManager * m_DDmgr
Definition: GeoVPixelFactory.h:45
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
GeoVPixelFactory::m_gmt_mgr
PixelGeometryManager * m_gmt_mgr
Definition: GeoVPixelFactory.h:43
GeoVPixelFactory::m_mapFPV
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
Definition: GeoVPixelFactory.h:47
PixelGeometryManager::NPixelSectors
virtual int NPixelSectors()=0
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
part1
Definition: part1.py:1
GeoPixelStaveRingServices::m_ladder
GeoPixelLadder & m_ladder
Definition: GeoPixelStaveRingServices.h:41
GeoPixelStaveRingServices::m_supportPhysA
GeoNodePtr< GeoPhysVol > m_supportPhysA
Definition: GeoPixelStaveRingServices.h:44
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
angle
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
Definition: TRTDetectorFactory_Full.cxx:73
PixelGeometryManager::PixelLadderTilt
virtual double PixelLadderTilt()=0
PixelGeometryManager::IBLStaveRadius
virtual double IBLStaveRadius()=0
PixelGeometryManager::IBLFlexDoglegLength
virtual double IBLFlexDoglegLength()=0
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
PixelGeometryManager::SetPhi
virtual void SetPhi(int phi)=0
PixelAthClusterMonAlgCfg.zmax
zmax
Definition: PixelAthClusterMonAlgCfg.py:176
GeoPixelStaveRing
Definition: GeoPixelStaveRing.h:10
GeoVPixelFactory::GeoVPixelFactory
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * >> mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * >> mapAX)
Definition: GeoVPixelFactory.cxx:9
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
GeoPixelStaveRingServices::m_staveSupport
GeoPixelStaveSupport & m_staveSupport
Definition: GeoPixelStaveRingServices.h:42
PixelGeometryManager::IBLFlexDoglegHeight
virtual double IBLFlexDoglegHeight(int iHeight)=0
GeoPixelStaveSupport::getServiceZpos
virtual double getServiceZpos() const =0
GeoVPixelFactory::m_mat_mgr
InDetMaterialManager * m_mat_mgr
Definition: GeoVPixelFactory.h:44
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
PixelGeometryManager::PixelStaveAxe
virtual int PixelStaveAxe()=0
GeoPixelStaveRingServices::m_supportPhysC
GeoNodePtr< GeoPhysVol > m_supportPhysC
Definition: GeoPixelStaveRingServices.h:45
GeoPixelLadder::thicknessP
double thicknessP() const
Definition: GeoPixelLadder.h:30
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
GeoPixelStaveRingServices::m_xformSupportA
GeoNodePtr< GeoTransform > m_xformSupportA
Definition: GeoPixelStaveRingServices.h:48
GeoPixelStaveSupport::thicknessN
virtual double thicknessN() const =0
PixelGeometryManager::PhiOfModuleZero
virtual double PhiOfModuleZero()=0
DEBUG
#define DEBUG
Definition: page_access.h:11
PixelGeometryManager::PixelLayerRadius
virtual double PixelLayerRadius()=0
GeoPixelStaveRingServices::m_supportMidRing
GeoNodePtr< GeoVPhysVol > m_supportMidRing
Definition: GeoPixelStaveRingServices.h:46
PixelGeometryManager::IBLServiceGetMinRadialPosition
virtual double IBLServiceGetMinRadialPosition(const std::string &srvName, const std::string &srvType, double srvZmin, double srvZmax)=0
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
GeoPixelStaveSupport::getEndblockZpos
virtual double getEndblockZpos() const =0
InDetMaterialManager::getMaterial
const GeoMaterial * getMaterial(const std::string &materialName)
Get material. First looks for locally defined material and if not found looks in GeoModel material ma...
Definition: InDetMaterialManager.cxx:96
PixelGeometryManager::IBLFlexMaterial
virtual std::string IBLFlexMaterial(int iPos, const std::string &flexType)=0
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
PixelGeometryManager::IBLStaveFlexWidth
virtual double IBLStaveFlexWidth()=0
GeoPixelStaveSupport::getEndblockLength
virtual double getEndblockLength() const =0
GeoPixelStaveSupport::thicknessP
virtual double thicknessP() const =0
GeoPixelStaveRingServices::m_xformSupportMidRing
GeoNodePtr< GeoTransform > m_xformSupportMidRing
Definition: GeoPixelStaveRingServices.h:50
GeoPixelStaveSupport::getEndblockEnvelopShapeTrf
virtual GeoTransform * getEndblockEnvelopShapeTrf(int)=0