ATLAS Offline Software
ProjectionSurfacesHelper.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
8 #include "VP1Base/VP1Msg.h"
9 
10 #include <Inventor/nodes/SoMaterial.h>
11 #include <Inventor/nodes/SoSeparator.h>
12 #include <Inventor/nodes/SoTranslation.h>
13 #include <Inventor/nodes/SoPickStyle.h>
14 
15 //____________________________________________________________________
17  SoSeparator * attachsep,
18  QObject*parent,
19  IVP1System* sys )
20 {
31  mat, attachsep, parent,sys );
32 }
33 
34 //____________________________________________________________________
36  SoSeparator * attachsep,
37  QObject*parent,
38  IVP1System* sys )
39 {
50  mat, attachsep, parent,sys );
51 }
52 
53 //____________________________________________________________________
55  SoSeparator * attachsep,
56  QObject*parent,
57  IVP1System* sys )
58 {
69  mat, attachsep, parent,sys );
70 }
71 
72 //____________________________________________________________________
74 public:
75  Imp(ProjectionSurfacesHelper*tc,SoSeparator * as) : theclass(tc),
76  attachsep(as),
77  parts(InDetProjFlags::NoProjections),
78  material(0),
79  sep(0),
80  barrelcylshape(0),
85  sep_barrel_pos(0),
86  sep_barrel_neg(0),
97  barrel_posneg_z(0),
104  {
105  if (as)
106  as->ref();
107  }
108 
110  SoSeparator * attachsep;
111  InDetProjFlags::InDetProjPartsFlags parts;
112 
113  SoMaterial * material;
114  SoSeparator * sep;
115  SoShape * barrelcylshape;
116  SoShape * endcapinnershape;
117  SoShape * endcapoutershape;
119  SoShape * barrelCylShape();
120  SoShape * endcapInnerShape();
121  SoShape * endcapOuterShape();
122  SoShape * endcapZAsRCylShape();
123 
124  SoSeparator * sep_barrel_central;
125  SoSeparator * sep_barrel_pos;
126  SoSeparator * sep_barrel_neg;
127  SoSeparator * sep_endcap_inner_pos;
128  SoSeparator * sep_endcap_outer_pos;
129  SoSeparator * sep_endcap_inner_neg;
130  SoSeparator * sep_endcap_outer_neg;
131  SoSeparator * sep_endcap_zasr_central;
132  SoSeparator * sep_endcap_zasr_pos;
133  SoSeparator * sep_endcap_zasr_neg;
134 
135  void initPartsSep(float zpos, SoSeparator*&sep, SoShape*);
136 
137  void ensureDetached(SoSeparator*);
138  void ensureAttached(SoSeparator*);
139 
140  //The parameters:
151  static const int nphi = 64;
152 };
153 
154 //____________________________________________________________________
156  double barrel_inner_radius,
157  double barrel_outer_radius,
158  double barrel_posneg_z,
159  double endcap_surface_z,
160  double endcap_surface_length,
161  double endcap_inner_radius,
162  double endcap_outer_radius,
163  double endcap_zasr_disttobarrelcyl,
164  double endcap_zasr_squeezefact,
165  SoMaterial* mat, SoSeparator * attachsep, QObject * parent,IVP1System*sys)
166  : QObject(parent), VP1HelperClassBase(sys,"ProjectionSurfacesHelper"), m_d(new Imp(this,attachsep))
167 {
168  m_d->material = mat;
169  if (m_d->material)
170  m_d->material->ref();
171  m_d->sep = 0;
172  m_d->barrelcylshape = 0;
173  m_d->endcapinnershape = 0;
174  m_d->endcapoutershape = 0;
175  m_d->endcapzasrcylshape = 0;
176  m_d->sep_barrel_central = 0;
177  m_d->sep_barrel_pos = 0;
178  m_d->sep_barrel_neg = 0;
186 
187  m_d->surfacethickness = surfacethickness;
188  m_d->barrel_inner_radius = barrel_inner_radius;
189  m_d->barrel_outer_radius = barrel_outer_radius;
190  m_d->barrel_posneg_z = barrel_posneg_z;
191  m_d->endcap_surface_z = endcap_surface_z;
192  m_d->endcap_surface_length = endcap_surface_length;
193  m_d->endcap_inner_radius = endcap_inner_radius;
194  m_d->endcap_outer_radius = endcap_outer_radius;
195  m_d->endcap_zasr_disttobarrelcyl = endcap_zasr_disttobarrelcyl;
196  m_d->endcap_zasr_squeezefact = endcap_zasr_squeezefact;
197 }
198 
199 //____________________________________________________________________
201 {
202  messageVerbose("destructor begin");
203  QList<SoNode*> l;
204 
205  l << m_d->attachsep
206  << m_d->material
207  << m_d->sep
208  << m_d->barrelcylshape
213  << m_d->sep_barrel_pos
214  << m_d->sep_barrel_neg
222 
223  foreach(SoNode* n, l)
224  if (n)
225  n->unref();
226 
227  delete m_d;
228  messageVerbose("destructor end");
229 }
230 
231 //____________________________________________________________________
232 InDetProjFlags::InDetProjPartsFlags ProjectionSurfacesHelper::shownParts() const
233 {
234  if (VP1Msg::verbose())
235  messageVerbose("shownParts");
236  return m_d->parts;
237 }
238 
239 //____________________________________________________________________
240 void ProjectionSurfacesHelper::setSurfaces( InDetProjFlags::InDetProjPartsFlags newparts )
241 {
242  messageVerbose("setSurfaces");
243  if (m_d->parts==newparts)
244  return;
245  messageVerbose("setSurfaces - changed");
246  InDetProjFlags::InDetProjPartsFlags changedparts(m_d->parts ^ newparts);
247  m_d->parts = newparts;
248  bool save = m_d->attachsep->enableNotify(false);
249 
251 
252  if (changedparts&InDetProjFlags::BarrelPositive) {
253  if (newparts&InDetProjFlags::BarrelPositive) {
254  if (!m_d->sep_barrel_pos)
257  } else {
259  }
260  }
261  if (changedparts&InDetProjFlags::BarrelNegative) {
262  if (newparts&InDetProjFlags::BarrelNegative) {
263  if (!m_d->sep_barrel_neg)
266  } else {
268  }
269  }
270  if (changedparts&InDetProjFlags::BarrelCentral) {
271  if (newparts&InDetProjFlags::BarrelCentral) {
272  if (!m_d->sep_barrel_central)
275  } else {
277  }
278  }
279  if (changedparts&InDetProjFlags::EndCapInnerPositive) {
284  } else {
286  }
287  }
288  if (changedparts&InDetProjFlags::EndCapOuterPositive) {
293  } else {
295  }
296  }
297  if (changedparts&InDetProjFlags::EndCapInnerNegative) {
302  } else {
304  }
305  }
306  if (changedparts&InDetProjFlags::EndCapOuterNegative) {
311  } else {
313  }
314  }
315  if (changedparts&InDetProjFlags::TRT_EndCapZToRCentral) {
320  } else {
322  }
323  }
324  if (changedparts&InDetProjFlags::TRT_EndCapZToRPositive) {
326  if (!m_d->sep_endcap_zasr_pos)
329  } else {
331  }
332  }
333  if (changedparts&InDetProjFlags::TRT_EndCapZToRNegative) {
335  if (!m_d->sep_endcap_zasr_neg)
338  } else {
340  }
341  }
342 
344  m_d->attachsep->enableNotify(save);
345  if (save)
346  m_d->attachsep->touch();
347  messageVerbose("setSurfaces - changed end");
348 }
349 
350 //____________________________________________________________________
351 void ProjectionSurfacesHelper::Imp::initPartsSep(float zpos, SoSeparator*&sep, SoShape*shape)
352 {
353  theclass->messageVerbose("initPartsSep begin");
354  sep = new SoSeparator();
355  sep->ref();
356  if (zpos!=0.0f) {
357  SoTranslation * t = new SoTranslation;
358  t->translation.setValue(0.0f,0.0f,zpos);
359  sep->addChild(t);
360  }
361  sep->addChild(shape);
362  theclass->messageVerbose("initPartsSep end");
363 }
364 
365 //____________________________________________________________________
367 {
368  if (VP1Msg::verbose())
369  messageVerbose("material");
370  return m_d->material;
371 }
372 
373 //____________________________________________________________________
375 {
376  theclass->messageVerbose("barrelCylShape");
377  if (!barrelcylshape) {
379  SoTubs * disc = new SoTubs;
380  disc->pRMin = barrel_inner_radius;
381  disc->pRMax = barrel_outer_radius;
382  disc->pDz = 0.5*surfacethickness;
383  disc->pSPhi = 0.0;
384  disc->pDPhi = 2*M_PI;
385  disc->pOverrideNPhi = nphi;//Ignore complexity and just use a good amount of subdivisions =n*32 (its just a single surface anyway)
386  barrelcylshape = disc;
387  barrelcylshape->ref();
388  }
389  return barrelcylshape;
390 }
391 
392 //____________________________________________________________________
394 {
395  theclass->messageVerbose("endcapInnerShape");
396  if (!endcapinnershape) {
398  SoTubs * cyl = new SoTubs;
399  cyl->pRMax = endcap_inner_radius;
400  cyl->pRMin = endcap_inner_radius-surfacethickness;
401  cyl->pDz = 0.5*endcap_surface_length;
402  cyl->pSPhi = 0.0;
403  cyl->pDPhi = 2*M_PI;
404  cyl->pOverrideNPhi = nphi;//Ignore complexity and just use a good amount of subdivisions =n*32 (its just a single surface anyway)
405  endcapinnershape = cyl;
406  endcapinnershape->ref();
407  }
408  return endcapinnershape;
409 }
410 
411 //____________________________________________________________________
413 {
414  theclass->messageVerbose("endcapOuterShape");
415  if (!endcapoutershape) {
417  SoTubs * cyl = new SoTubs;
418  cyl->pRMax = endcap_outer_radius;
419  cyl->pRMin = endcap_outer_radius-surfacethickness;
420  cyl->pDz = 0.5*endcap_surface_length;
421  cyl->pSPhi = 0.0;
422  cyl->pDPhi = 2*M_PI;
423  cyl->pOverrideNPhi = nphi;//Ignore complexity and just use a good amount of subdivisions =n*32 (its just a single surface anyway)
424  endcapoutershape = cyl;
425  endcapoutershape->ref();
426  }
427  return endcapoutershape;
428 }
429 
430 //____________________________________________________________________
432 {
433  theclass->messageVerbose("endcapZAsRCylShape");
434  if (!endcapzasrcylshape) {
436  SoTubs * disc = new SoTubs;
437  double rmin = barrel_outer_radius+endcap_zasr_disttobarrelcyl;
438  disc->pRMin = rmin;
439  disc->pRMax = rmin + endcap_surface_length/endcap_zasr_squeezefact;
440  disc->pDz = 0.5*surfacethickness;
441  disc->pSPhi = 0.0;
442  disc->pDPhi = 2*M_PI;
443  disc->pOverrideNPhi = nphi;//Ignore complexity and just use a good amount of subdivisions =n*32 (its just a single surface anyway)
444  endcapzasrcylshape = disc;
445  endcapzasrcylshape->ref();
446  }
447  return endcapzasrcylshape;
448 }
449 
450 //____________________________________________________________________
452 {
453  if (VP1Msg::verbose())
454  theclass->messageVerbose("ensureDetached");
455  if (!sep||!s)
456  return;
457  if (sep->findChild(s)>-1)
458  sep->removeChild(s);
459 }
460 
461 //____________________________________________________________________
463 {
464  if (VP1Msg::verbose())
465  theclass->messageVerbose("ensureAttached");
466  if (!s)
467  return;
468  if (!sep) {
469  sep = new SoSeparator;
470  sep->ref();
471  SoPickStyle *pickStyle = new SoPickStyle;
472  pickStyle->style=SoPickStyle::UNPICKABLE;
473  sep->addChild(pickStyle);
474  if (material)
475  sep->addChild(material);
476  attachsep->addChild(sep);
477  }
478  sep->addChild(s);
479  if (VP1Msg::verbose())
480  theclass->messageVerbose("ensureAttached done");
481 }
ProjectionSurfacesHelper::createPixelHelper
static ProjectionSurfacesHelper * createPixelHelper(SoMaterial *, SoSeparator *attachsep, QObject *parent=0, IVP1System *sys=0)
Definition: ProjectionSurfacesHelper.cxx:16
ProjectionSurfacesHelper::Imp::sep_endcap_outer_pos
SoSeparator * sep_endcap_outer_pos
Definition: ProjectionSurfacesHelper.cxx:128
ProjectionSurfacesHelper::Imp::barrelCylShape
SoShape * barrelCylShape()
Definition: ProjectionSurfacesHelper.cxx:374
InDetProjParams::pixel_endcap_zasr_disttobarrelcyl
static double pixel_endcap_zasr_disttobarrelcyl()
Definition: InDetProjParams.h:38
InDetProjParams::sct_endcap_surface_z
static double sct_endcap_surface_z()
Definition: InDetProjParams.h:45
ProjectionSurfacesHelper::createSCTHelper
static ProjectionSurfacesHelper * createSCTHelper(SoMaterial *, SoSeparator *attachsep, QObject *parent=0, IVP1System *sys=0)
Definition: ProjectionSurfacesHelper.cxx:35
ProjectionSurfacesHelper::Imp::ensureAttached
void ensureAttached(SoSeparator *)
Definition: ProjectionSurfacesHelper.cxx:462
InDetProjFlags::EndCapOuterNegative
@ EndCapOuterNegative
Definition: InDetProjFlags.h:54
ProjectionSurfacesHelper::setSurfaces
void setSurfaces(InDetProjFlags::InDetProjPartsFlags)
Definition: ProjectionSurfacesHelper.cxx:240
ProjectionSurfacesHelper::Imp::barrel_inner_radius
double barrel_inner_radius
Definition: ProjectionSurfacesHelper.cxx:142
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
InDetProjParams::trt_endcap_outer_radius
static double trt_endcap_outer_radius()
Definition: InDetProjParams.h:59
ProjectionSurfacesHelper::Imp::endcap_zasr_squeezefact
double endcap_zasr_squeezefact
Definition: ProjectionSurfacesHelper.cxx:150
InDetProjParams::trt_endcap_surface_z
static double trt_endcap_surface_z()
Definition: InDetProjParams.h:56
ProjectionSurfacesHelper::Imp::sep_endcap_zasr_central
SoSeparator * sep_endcap_zasr_central
Definition: ProjectionSurfacesHelper.cxx:131
ProjectionSurfacesHelper::Imp::sep_barrel_neg
SoSeparator * sep_barrel_neg
Definition: ProjectionSurfacesHelper.cxx:126
InDetProjParams::pixel_barrel_posneg_z
static double pixel_barrel_posneg_z()
Definition: InDetProjParams.h:33
ProjectionSurfacesHelper::Imp::endcapZAsRCylShape
SoShape * endcapZAsRCylShape()
Definition: ProjectionSurfacesHelper.cxx:431
ProjectionSurfacesHelper::Imp::attachsep
SoSeparator * attachsep
Definition: ProjectionSurfacesHelper.cxx:110
InDetProjFlags::BarrelPositive
@ BarrelPositive
Definition: InDetProjFlags.h:50
InDetProjParams::sct_barrel_posneg_z
static double sct_barrel_posneg_z()
Definition: InDetProjParams.h:44
SoTubs
SoTubs - Inventor version of the G4Tubs Geant Geometry entity.
Definition: SoTubs.h:50
ProjectionSurfacesHelper::Imp::ensureDetached
void ensureDetached(SoSeparator *)
Definition: ProjectionSurfacesHelper.cxx:451
ProjectionSurfacesHelper::Imp::sep_barrel_pos
SoSeparator * sep_barrel_pos
Definition: ProjectionSurfacesHelper.cxx:125
InDetProjParams::pixel_barrel_outer_radius
static double pixel_barrel_outer_radius()
Definition: InDetProjParams.h:32
VP1Msg.h
ProjectionSurfacesHelper::Imp::sep_barrel_central
SoSeparator * sep_barrel_central
Definition: ProjectionSurfacesHelper.cxx:124
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:55
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
InDetProjParams::sct_barrel_outer_radius
static double sct_barrel_outer_radius()
Definition: InDetProjParams.h:43
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
ProjectionSurfacesHelper::shownParts
InDetProjFlags::InDetProjPartsFlags shownParts() const
Definition: ProjectionSurfacesHelper.cxx:232
InDetProjParams::trt_barrel_inner_radius
static double trt_barrel_inner_radius()
Definition: InDetProjParams.h:53
M_PI
#define M_PI
Definition: ActiveFraction.h:11
ProjectionSurfacesHelper::Imp::endcap_zasr_disttobarrelcyl
double endcap_zasr_disttobarrelcyl
Definition: ProjectionSurfacesHelper.cxx:149
ProjectionSurfacesHelper::ProjectionSurfacesHelper
ProjectionSurfacesHelper(double surfacethickness, double barrel_inner_radius, double barrel_outer_radius, double barrel_posneg_z, double endcap_surface_z, double endcap_surface_length, double endcap_inner_radius, double endcap_outer_radius, double endcap_zasr_disttobarrelcyl, double endcap_zasr_squeezefact, SoMaterial *, SoSeparator *attachsep, QObject *parent, IVP1System *sys)
Definition: ProjectionSurfacesHelper.cxx:155
ProjectionSurfacesHelper::Imp::sep_endcap_zasr_neg
SoSeparator * sep_endcap_zasr_neg
Definition: ProjectionSurfacesHelper.cxx:133
InDetProjParams::sct_barrel_inner_radius
static double sct_barrel_inner_radius()
Definition: InDetProjParams.h:42
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
ProjectionSurfacesHelper::Imp::barrel_posneg_z
double barrel_posneg_z
Definition: ProjectionSurfacesHelper.cxx:144
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ProjectionSurfacesHelper::Imp::endcapinnershape
SoShape * endcapinnershape
Definition: ProjectionSurfacesHelper.cxx:116
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
ProjectionSurfacesHelper::Imp::sep
SoSeparator * sep
Definition: ProjectionSurfacesHelper.cxx:114
InDetProjFlags::TRT_EndCapZToRCentral
@ TRT_EndCapZToRCentral
Definition: InDetProjFlags.h:60
ProjectionSurfacesHelper::Imp::surfacethickness
double surfacethickness
Definition: ProjectionSurfacesHelper.cxx:141
InDetProjParams::trt_barrel_posneg_z
static double trt_barrel_posneg_z()
Definition: InDetProjParams.h:55
ProjectionSurfacesHelper::Imp::sep_endcap_zasr_pos
SoSeparator * sep_endcap_zasr_pos
Definition: ProjectionSurfacesHelper.cxx:132
InDetProjParams::trt_endcap_zasr_squeezefact
static double trt_endcap_zasr_squeezefact()
Definition: InDetProjParams.h:61
ProjectionSurfacesHelper::Imp::sep_endcap_inner_pos
SoSeparator * sep_endcap_inner_pos
Definition: ProjectionSurfacesHelper.cxx:127
ProjectionSurfacesHelper::Imp::barrelcylshape
SoShape * barrelcylshape
Definition: ProjectionSurfacesHelper.cxx:115
InDetProjParams::sct_endcap_outer_radius
static double sct_endcap_outer_radius()
Definition: InDetProjParams.h:48
InDetProjParams.h
ProjectionSurfacesHelper::Imp::barrel_outer_radius
double barrel_outer_radius
Definition: ProjectionSurfacesHelper.cxx:143
checkTP.save
def save(self, fileName="./columbo.out")
Definition: checkTP.py:178
IVP1System
Definition: IVP1System.h:36
InDetProjParams::pixel_endcap_zasr_squeezefact
static double pixel_endcap_zasr_squeezefact()
Definition: InDetProjParams.h:39
InDetProjParams::surfacethickness
static double surfacethickness()
Definition: InDetProjParams.h:26
ProjectionSurfacesHelper::m_d
Imp * m_d
Definition: ProjectionSurfacesHelper.h:68
beamspotman.n
n
Definition: beamspotman.py:731
ProjectionSurfacesHelper::Imp::sep_endcap_inner_neg
SoSeparator * sep_endcap_inner_neg
Definition: ProjectionSurfacesHelper.cxx:129
InDetProjParams::sct_endcap_inner_radius
static double sct_endcap_inner_radius()
Definition: InDetProjParams.h:47
InDetProjFlags::EndCapInnerPositive
@ EndCapInnerPositive
Definition: InDetProjFlags.h:55
ProjectionSurfacesHelper::Imp::endcap_inner_radius
double endcap_inner_radius
Definition: ProjectionSurfacesHelper.cxx:147
test_pyathena.parent
parent
Definition: test_pyathena.py:15
hist_file_dump.f
f
Definition: hist_file_dump.py:135
InDetProjParams::trt_barrel_outer_radius
static double trt_barrel_outer_radius()
Definition: InDetProjParams.h:54
ProjectionSurfacesHelper::Imp::endcapOuterShape
SoShape * endcapOuterShape()
Definition: ProjectionSurfacesHelper.cxx:412
ProjectionSurfacesHelper::material
SoMaterial * material()
Definition: ProjectionSurfacesHelper.cxx:366
SoTubs::initClass
static void initClass()
Class Initializer, required.
Definition: SoTubs.cxx:68
InDetProjFlags::EndCapInnerNegative
@ EndCapInnerNegative
Definition: InDetProjFlags.h:56
VP1HelperClassBase
Definition: VP1HelperClassBase.h:28
InDetProjFlags::BarrelCentral
@ BarrelCentral
Definition: InDetProjFlags.h:52
ProjectionSurfacesHelper::Imp::material
SoMaterial * material
Definition: ProjectionSurfacesHelper.cxx:113
InDetProjParams::sct_endcap_zasr_squeezefact
static double sct_endcap_zasr_squeezefact()
Definition: InDetProjParams.h:50
grepfile.sep
sep
Definition: grepfile.py:38
InDetProjParams::pixel_endcap_outer_radius
static double pixel_endcap_outer_radius()
Definition: InDetProjParams.h:37
SoTubs::pDPhi
SoSFFloat pDPhi
Delta-angle, in radians.
Definition: SoTubs.h:76
InDetProjParams::sct_endcap_zasr_disttobarrelcyl
static double sct_endcap_zasr_disttobarrelcyl()
Definition: InDetProjParams.h:49
InDetProjParams::pixel_barrel_inner_radius
static double pixel_barrel_inner_radius()
Definition: InDetProjParams.h:31
ProjectionSurfacesHelper::~ProjectionSurfacesHelper
virtual ~ProjectionSurfacesHelper()
Definition: ProjectionSurfacesHelper.cxx:200
InDetProjFlags
Definition: InDetProjFlags.h:23
ProjectionSurfacesHelper
Definition: ProjectionSurfacesHelper.h:28
SoTubs::pOverrideNPhi
SoSFInt32 pOverrideNPhi
Override number of phi subdivision used for rendering shape (i.e.
Definition: SoTubs.h:81
ProjectionSurfacesHelper::Imp::parts
InDetProjFlags::InDetProjPartsFlags parts
Definition: ProjectionSurfacesHelper.cxx:111
ProjectionSurfacesHelper::Imp::endcap_surface_length
double endcap_surface_length
Definition: ProjectionSurfacesHelper.cxx:146
ProjectionSurfacesHelper.h
InDetProjParams::trt_endcap_zasr_disttobarrelcyl
static double trt_endcap_zasr_disttobarrelcyl()
Definition: InDetProjParams.h:60
ProjectionSurfacesHelper::Imp
Definition: ProjectionSurfacesHelper.cxx:73
InDetProjParams::sct_endcap_surface_length
static double sct_endcap_surface_length()
Definition: InDetProjParams.h:46
ProjectionSurfacesHelper::Imp::endcap_surface_z
double endcap_surface_z
Definition: ProjectionSurfacesHelper.cxx:145
ProjectionSurfacesHelper::Imp::endcapzasrcylshape
SoShape * endcapzasrcylshape
Definition: ProjectionSurfacesHelper.cxx:118
ProjectionSurfacesHelper::Imp::Imp
Imp(ProjectionSurfacesHelper *tc, SoSeparator *as)
Definition: ProjectionSurfacesHelper.cxx:75
SoTubs.h
InDetProjParams::pixel_endcap_surface_z
static double pixel_endcap_surface_z()
Definition: InDetProjParams.h:34
ProjectionSurfacesHelper::Imp::endcap_outer_radius
double endcap_outer_radius
Definition: ProjectionSurfacesHelper.cxx:148
ProjectionSurfacesHelper::Imp::initPartsSep
void initPartsSep(float zpos, SoSeparator *&sep, SoShape *)
Definition: ProjectionSurfacesHelper.cxx:351
ProjectionSurfacesHelper::Imp::theclass
ProjectionSurfacesHelper * theclass
Definition: ProjectionSurfacesHelper.cxx:109
ProjectionSurfacesHelper::Imp::sep_endcap_outer_neg
SoSeparator * sep_endcap_outer_neg
Definition: ProjectionSurfacesHelper.cxx:130
VP1Msg::verbose
static bool verbose()
Definition: VP1Msg.h:31
InDetProjParams::pixel_endcap_surface_length
static double pixel_endcap_surface_length()
Definition: InDetProjParams.h:35
ProjectionSurfacesHelper::Imp::nphi
static const int nphi
Definition: ProjectionSurfacesHelper.cxx:151
InDetProjFlags::TRT_EndCapZToRPositive
@ TRT_EndCapZToRPositive
Definition: InDetProjFlags.h:58
InDetProjFlags::BarrelNegative
@ BarrelNegative
Definition: InDetProjFlags.h:51
SoTubs::pDz
SoSFFloat pDz
Half-length in Z.
Definition: SoTubs.h:68
InDetProjFlags::EndCapOuterPositive
@ EndCapOuterPositive
Definition: InDetProjFlags.h:53
InDetProjParams::trt_endcap_surface_length
static double trt_endcap_surface_length()
Definition: InDetProjParams.h:57
InDetProjParams::trt_endcap_inner_radius
static double trt_endcap_inner_radius()
Definition: InDetProjParams.h:58
ProjectionSurfacesHelper::Imp::endcapoutershape
SoShape * endcapoutershape
Definition: ProjectionSurfacesHelper.cxx:117
InDetProjParams::pixel_endcap_inner_radius
static double pixel_endcap_inner_radius()
Definition: InDetProjParams.h:36
ProjectionSurfacesHelper::createTRTHelper
static ProjectionSurfacesHelper * createTRTHelper(SoMaterial *, SoSeparator *attachsep, QObject *parent=0, IVP1System *sys=0)
Definition: ProjectionSurfacesHelper.cxx:54
SoTubs::pRMin
SoSFFloat pRMin
Inside radius of the tube.
Definition: SoTubs.h:60
ProjectionSurfacesHelper::Imp::endcapInnerShape
SoShape * endcapInnerShape()
Definition: ProjectionSurfacesHelper.cxx:393
SoTubs::pRMax
SoSFFloat pRMax
Outside radius of the tube.
Definition: SoTubs.h:64
SoTubs::pSPhi
SoSFFloat pSPhi
Starting angle, in radians.
Definition: SoTubs.h:72
InDetProjFlags::TRT_EndCapZToRNegative
@ TRT_EndCapZToRNegative
Definition: InDetProjFlags.h:59