ATLAS Offline Software
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ProjectionSurfacesHelper::Imp Class Reference
Collaboration diagram for ProjectionSurfacesHelper::Imp:

Public Member Functions

 Imp (ProjectionSurfacesHelper *tc, SoSeparator *as)
 
SoShape * barrelCylShape ()
 
SoShape * endcapInnerShape ()
 
SoShape * endcapOuterShape ()
 
SoShape * endcapZAsRCylShape ()
 
void initPartsSep (float zpos, SoSeparator *&sep, SoShape *)
 
void ensureDetached (SoSeparator *)
 
void ensureAttached (SoSeparator *)
 

Public Attributes

ProjectionSurfacesHelpertheclass
 
SoSeparator * attachsep
 
InDetProjFlags::InDetProjPartsFlags parts
 
SoMaterial * material
 
SoSeparator * sep
 
SoShape * barrelcylshape
 
SoShape * endcapinnershape
 
SoShape * endcapoutershape
 
SoShape * endcapzasrcylshape
 
SoSeparator * sep_barrel_central
 
SoSeparator * sep_barrel_pos
 
SoSeparator * sep_barrel_neg
 
SoSeparator * sep_endcap_inner_pos
 
SoSeparator * sep_endcap_outer_pos
 
SoSeparator * sep_endcap_inner_neg
 
SoSeparator * sep_endcap_outer_neg
 
SoSeparator * sep_endcap_zasr_central
 
SoSeparator * sep_endcap_zasr_pos
 
SoSeparator * sep_endcap_zasr_neg
 
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
 

Static Public Attributes

static const int nphi = 64
 

Detailed Description

Definition at line 73 of file ProjectionSurfacesHelper.cxx.

Constructor & Destructor Documentation

◆ Imp()

ProjectionSurfacesHelper::Imp::Imp ( ProjectionSurfacesHelper tc,
SoSeparator *  as 
)
inline

Definition at line 75 of file ProjectionSurfacesHelper.cxx.

75  : theclass(tc),
76  attachsep(as),
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  }

Member Function Documentation

◆ barrelCylShape()

SoShape * ProjectionSurfacesHelper::Imp::barrelCylShape ( )

Definition at line 374 of file ProjectionSurfacesHelper.cxx.

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 }

◆ endcapInnerShape()

SoShape * ProjectionSurfacesHelper::Imp::endcapInnerShape ( )

Definition at line 393 of file ProjectionSurfacesHelper.cxx.

394 {
395  theclass->messageVerbose("endcapInnerShape");
396  if (!endcapinnershape) {
398  SoTubs * cyl = new SoTubs;
399  cyl->pRMax = endcap_inner_radius;
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 }

◆ endcapOuterShape()

SoShape * ProjectionSurfacesHelper::Imp::endcapOuterShape ( )

Definition at line 412 of file ProjectionSurfacesHelper.cxx.

413 {
414  theclass->messageVerbose("endcapOuterShape");
415  if (!endcapoutershape) {
417  SoTubs * cyl = new SoTubs;
418  cyl->pRMax = endcap_outer_radius;
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 }

◆ endcapZAsRCylShape()

SoShape * ProjectionSurfacesHelper::Imp::endcapZAsRCylShape ( )

Definition at line 431 of file ProjectionSurfacesHelper.cxx.

432 {
433  theclass->messageVerbose("endcapZAsRCylShape");
434  if (!endcapzasrcylshape) {
436  SoTubs * disc = new SoTubs;
438  disc->pRMin = rmin;
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 }

◆ ensureAttached()

void ProjectionSurfacesHelper::Imp::ensureAttached ( SoSeparator *  s)

Definition at line 462 of file ProjectionSurfacesHelper.cxx.

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 }

◆ ensureDetached()

void ProjectionSurfacesHelper::Imp::ensureDetached ( SoSeparator *  s)

Definition at line 451 of file ProjectionSurfacesHelper.cxx.

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 }

◆ initPartsSep()

void ProjectionSurfacesHelper::Imp::initPartsSep ( float  zpos,
SoSeparator *&  sep,
SoShape *  shape 
)

Definition at line 351 of file ProjectionSurfacesHelper.cxx.

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 }

Member Data Documentation

◆ attachsep

SoSeparator* ProjectionSurfacesHelper::Imp::attachsep

Definition at line 110 of file ProjectionSurfacesHelper.cxx.

◆ barrel_inner_radius

double ProjectionSurfacesHelper::Imp::barrel_inner_radius

Definition at line 142 of file ProjectionSurfacesHelper.cxx.

◆ barrel_outer_radius

double ProjectionSurfacesHelper::Imp::barrel_outer_radius

Definition at line 143 of file ProjectionSurfacesHelper.cxx.

◆ barrel_posneg_z

double ProjectionSurfacesHelper::Imp::barrel_posneg_z

Definition at line 144 of file ProjectionSurfacesHelper.cxx.

◆ barrelcylshape

SoShape* ProjectionSurfacesHelper::Imp::barrelcylshape

Definition at line 115 of file ProjectionSurfacesHelper.cxx.

◆ endcap_inner_radius

double ProjectionSurfacesHelper::Imp::endcap_inner_radius

Definition at line 147 of file ProjectionSurfacesHelper.cxx.

◆ endcap_outer_radius

double ProjectionSurfacesHelper::Imp::endcap_outer_radius

Definition at line 148 of file ProjectionSurfacesHelper.cxx.

◆ endcap_surface_length

double ProjectionSurfacesHelper::Imp::endcap_surface_length

Definition at line 146 of file ProjectionSurfacesHelper.cxx.

◆ endcap_surface_z

double ProjectionSurfacesHelper::Imp::endcap_surface_z

Definition at line 145 of file ProjectionSurfacesHelper.cxx.

◆ endcap_zasr_disttobarrelcyl

double ProjectionSurfacesHelper::Imp::endcap_zasr_disttobarrelcyl

Definition at line 149 of file ProjectionSurfacesHelper.cxx.

◆ endcap_zasr_squeezefact

double ProjectionSurfacesHelper::Imp::endcap_zasr_squeezefact

Definition at line 150 of file ProjectionSurfacesHelper.cxx.

◆ endcapinnershape

SoShape* ProjectionSurfacesHelper::Imp::endcapinnershape

Definition at line 116 of file ProjectionSurfacesHelper.cxx.

◆ endcapoutershape

SoShape* ProjectionSurfacesHelper::Imp::endcapoutershape

Definition at line 117 of file ProjectionSurfacesHelper.cxx.

◆ endcapzasrcylshape

SoShape* ProjectionSurfacesHelper::Imp::endcapzasrcylshape

Definition at line 118 of file ProjectionSurfacesHelper.cxx.

◆ material

SoMaterial* ProjectionSurfacesHelper::Imp::material

Definition at line 113 of file ProjectionSurfacesHelper.cxx.

◆ nphi

const int ProjectionSurfacesHelper::Imp::nphi = 64
static

Definition at line 151 of file ProjectionSurfacesHelper.cxx.

◆ parts

InDetProjFlags::InDetProjPartsFlags ProjectionSurfacesHelper::Imp::parts

Definition at line 111 of file ProjectionSurfacesHelper.cxx.

◆ sep

SoSeparator* ProjectionSurfacesHelper::Imp::sep

Definition at line 114 of file ProjectionSurfacesHelper.cxx.

◆ sep_barrel_central

SoSeparator* ProjectionSurfacesHelper::Imp::sep_barrel_central

Definition at line 124 of file ProjectionSurfacesHelper.cxx.

◆ sep_barrel_neg

SoSeparator* ProjectionSurfacesHelper::Imp::sep_barrel_neg

Definition at line 126 of file ProjectionSurfacesHelper.cxx.

◆ sep_barrel_pos

SoSeparator* ProjectionSurfacesHelper::Imp::sep_barrel_pos

Definition at line 125 of file ProjectionSurfacesHelper.cxx.

◆ sep_endcap_inner_neg

SoSeparator* ProjectionSurfacesHelper::Imp::sep_endcap_inner_neg

Definition at line 129 of file ProjectionSurfacesHelper.cxx.

◆ sep_endcap_inner_pos

SoSeparator* ProjectionSurfacesHelper::Imp::sep_endcap_inner_pos

Definition at line 127 of file ProjectionSurfacesHelper.cxx.

◆ sep_endcap_outer_neg

SoSeparator* ProjectionSurfacesHelper::Imp::sep_endcap_outer_neg

Definition at line 130 of file ProjectionSurfacesHelper.cxx.

◆ sep_endcap_outer_pos

SoSeparator* ProjectionSurfacesHelper::Imp::sep_endcap_outer_pos

Definition at line 128 of file ProjectionSurfacesHelper.cxx.

◆ sep_endcap_zasr_central

SoSeparator* ProjectionSurfacesHelper::Imp::sep_endcap_zasr_central

Definition at line 131 of file ProjectionSurfacesHelper.cxx.

◆ sep_endcap_zasr_neg

SoSeparator* ProjectionSurfacesHelper::Imp::sep_endcap_zasr_neg

Definition at line 133 of file ProjectionSurfacesHelper.cxx.

◆ sep_endcap_zasr_pos

SoSeparator* ProjectionSurfacesHelper::Imp::sep_endcap_zasr_pos

Definition at line 132 of file ProjectionSurfacesHelper.cxx.

◆ surfacethickness

double ProjectionSurfacesHelper::Imp::surfacethickness

Definition at line 141 of file ProjectionSurfacesHelper.cxx.

◆ theclass

ProjectionSurfacesHelper* ProjectionSurfacesHelper::Imp::theclass

Definition at line 109 of file ProjectionSurfacesHelper.cxx.


The documentation for this class was generated from the following file:
ProjectionSurfacesHelper::Imp::sep_endcap_outer_pos
SoSeparator * sep_endcap_outer_pos
Definition: ProjectionSurfacesHelper.cxx:128
ProjectionSurfacesHelper::Imp::barrel_inner_radius
double barrel_inner_radius
Definition: ProjectionSurfacesHelper.cxx:142
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
ProjectionSurfacesHelper::Imp::endcap_zasr_squeezefact
double endcap_zasr_squeezefact
Definition: ProjectionSurfacesHelper.cxx:150
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
ProjectionSurfacesHelper::Imp::attachsep
SoSeparator * attachsep
Definition: ProjectionSurfacesHelper.cxx:110
SoTubs
SoTubs - Inventor version of the G4Tubs Geant Geometry entity.
Definition: SoTubs.h:50
ProjectionSurfacesHelper::Imp::sep_barrel_pos
SoSeparator * sep_barrel_pos
Definition: ProjectionSurfacesHelper.cxx:125
ProjectionSurfacesHelper::Imp::sep_barrel_central
SoSeparator * sep_barrel_central
Definition: ProjectionSurfacesHelper.cxx:124
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
M_PI
#define M_PI
Definition: ActiveFraction.h:11
ProjectionSurfacesHelper::Imp::endcap_zasr_disttobarrelcyl
double endcap_zasr_disttobarrelcyl
Definition: ProjectionSurfacesHelper.cxx:149
ProjectionSurfacesHelper::Imp::sep_endcap_zasr_neg
SoSeparator * sep_endcap_zasr_neg
Definition: ProjectionSurfacesHelper.cxx:133
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
ProjectionSurfacesHelper::Imp::sep
SoSeparator * sep
Definition: ProjectionSurfacesHelper.cxx:114
ProjectionSurfacesHelper::Imp::surfacethickness
double surfacethickness
Definition: ProjectionSurfacesHelper.cxx:141
ProjectionSurfacesHelper::Imp::sep_endcap_zasr_pos
SoSeparator * sep_endcap_zasr_pos
Definition: ProjectionSurfacesHelper.cxx:132
ProjectionSurfacesHelper::Imp::sep_endcap_inner_pos
SoSeparator * sep_endcap_inner_pos
Definition: ProjectionSurfacesHelper.cxx:127
ProjectionSurfacesHelper::Imp::barrelcylshape
SoShape * barrelcylshape
Definition: ProjectionSurfacesHelper.cxx:115
ProjectionSurfacesHelper::Imp::barrel_outer_radius
double barrel_outer_radius
Definition: ProjectionSurfacesHelper.cxx:143
ProjectionSurfacesHelper::Imp::sep_endcap_inner_neg
SoSeparator * sep_endcap_inner_neg
Definition: ProjectionSurfacesHelper.cxx:129
ProjectionSurfacesHelper::Imp::endcap_inner_radius
double endcap_inner_radius
Definition: ProjectionSurfacesHelper.cxx:147
hist_file_dump.f
f
Definition: hist_file_dump.py:135
SoTubs::initClass
static void initClass()
Class Initializer, required.
Definition: SoTubs.cxx:68
ProjectionSurfacesHelper::Imp::material
SoMaterial * material
Definition: ProjectionSurfacesHelper.cxx:113
SoTubs::pDPhi
SoSFFloat pDPhi
Delta-angle, in radians.
Definition: SoTubs.h:76
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::Imp::endcap_surface_z
double endcap_surface_z
Definition: ProjectionSurfacesHelper.cxx:145
ProjectionSurfacesHelper::Imp::endcapzasrcylshape
SoShape * endcapzasrcylshape
Definition: ProjectionSurfacesHelper.cxx:118
ProjectionSurfacesHelper::Imp::endcap_outer_radius
double endcap_outer_radius
Definition: ProjectionSurfacesHelper.cxx:148
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
ProjectionSurfacesHelper::Imp::nphi
static const int nphi
Definition: ProjectionSurfacesHelper.cxx:151
InDetProjFlags::NoProjections
@ NoProjections
Definition: InDetProjFlags.h:49
SoTubs::pDz
SoSFFloat pDz
Half-length in Z.
Definition: SoTubs.h:68
ProjectionSurfacesHelper::Imp::endcapoutershape
SoShape * endcapoutershape
Definition: ProjectionSurfacesHelper.cxx:117
SoTubs::pRMin
SoSFFloat pRMin
Inside radius of the tube.
Definition: SoTubs.h:60
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