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

#include <SoGenericBox.h>

Inheritance diagram for SoGenericBox:
Collaboration diagram for SoGenericBox:

Public Member Functions

void setParametersForBox (float dx, float dy, float dz, float xcenter=0.0, float ycenter=0.0, float zcenter=0.0)
 
void setParametersForBarrelEtaPhiCell (double etaMin, double etaMax, double phiMin, double phiMax, double cellDepth, double cellDistance, double etasqueezefact=1.0, double phisqueezefact=1.0)
 
void setParametersForEndCapEtaPhiCell (double etaMin, double etaMax, double phiMin, double phiMax, double cellDepth, double cellDistance, double etasqueezefact=1.0, double phisqueezefact=1.0)
 
void setParametersForTrd (float dx1, float dx2, float dy1, float dy2, float dz)
 
void setParametersForTrapezoid (float dz, float theta, float phi, float dy1, float dx1, float dx2, float dy2, float dx3, float dx4, float alp1, float alp2)
 
void setGenericParameters (float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4, float x5, float y5, float z5, float x6, float y6, float z6, float x7, float y7, float z7)
 
 SoGenericBox ()
 
virtual void generateAlternateRep ()
 
virtual void clearAlternateRep ()
 

Static Public Member Functions

static void initClass ()
 

Public Attributes

SoSFBool drawEdgeLines
 
SoSFBool forceEdgeLinesInBaseColour
 
SoSFNode alternateRep
 

Protected Member Functions

virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f &center)
 
virtual void generatePrimitives (SoAction *action)
 
virtual ~SoGenericBox ()
 

Private Member Functions

 SO_NODE_HEADER (SoGenericBox)
 
void internalSetParametersForEtaPhiCell (bool barrel, double etaMin, double etaMax, double phiMin, double phiMax, double cellDepth, double cellDistance, double etasqueezefact, double phisqueezefact)
 
void ensurePointsAllocated ()
 
void pointsUpdated ()
 
void setupDefaultPoints ()
 

Private Attributes

float * m_points
 
float * m_normals
 
SbBox3f m_bbox
 
SbVec3f m_center
 

Detailed Description

Definition at line 26 of file SoGenericBox.h.

Constructor & Destructor Documentation

◆ SoGenericBox()

SoGenericBox::SoGenericBox ( )

Definition at line 71 of file SoGenericBox.cxx.

72  : m_points(0), m_normals(0)
73 {
74  SO_NODE_CONSTRUCTOR(SoGenericBox);
75  SO_NODE_ADD_FIELD(drawEdgeLines, (false));
76  SO_NODE_ADD_FIELD(forceEdgeLinesInBaseColour, (true));
77  SO_NODE_ADD_FIELD(alternateRep,(NULL));
78  setNodeType(EXTENSION);
79 }

◆ ~SoGenericBox()

SoGenericBox::~SoGenericBox ( )
protectedvirtual

Definition at line 82 of file SoGenericBox.cxx.

83 {
84  delete [] m_normals;
85  delete [] m_points;
86 }

Member Function Documentation

◆ clearAlternateRep()

void SoGenericBox::clearAlternateRep ( )
virtual

Definition at line 464 of file SoGenericBox.cxx.

465 {
466  alternateRep.setValue(NULL);
467  //Hmm... no ref/unref??
468 }

◆ computeBBox()

void SoGenericBox::computeBBox ( SoAction *  action,
SbBox3f &  box,
SbVec3f &  center 
)
protectedvirtual

Definition at line 171 of file SoGenericBox.cxx.

171  {
172  if (!m_points)
174  box = m_bbox;
175  center = m_center;
176 }

◆ ensurePointsAllocated()

void SoGenericBox::ensurePointsAllocated ( )
private

Definition at line 158 of file SoGenericBox.cxx.

159 {
160  if (!m_points)
161  m_points = new float[SOGENERICBOX_NPOINTS*3];
162 }

◆ generateAlternateRep()

void SoGenericBox::generateAlternateRep ( )
virtual

Definition at line 429 of file SoGenericBox.cxx.

430 {
431  if (!m_points)
433  if (alternateRep.getValue())
435  SoSeparator * sep = new SoSeparator;
436 
437  //Vertice coordinates:
438  SoVertexProperty *vertices = new SoVertexProperty();
439  for (int i=0;i<SOGENERICBOX_NPOINTS;++i)
440  vertices->vertex.set1Value ( i, m_points[i*3+0],m_points[i*3+1],m_points[i*3+2] );
441  SoIndexedFaceSet * faceset = new SoIndexedFaceSet;
442  faceset->coordIndex.setValues(0,5*6, sogenericbox_vindices_foraltrepfaces);
443  faceset->vertexProperty = vertices;
444  sep->addChild(faceset);
445 
446  if (drawEdgeLines.getValue()) {
447 //Disable the lightmodel now since we in any case gets baselightning with the lineset defined this way...
448 // if (forceEdgeLinesInBaseColour.getValue()) {
449 // SoLightModel * lm = new SoLightModel;//Fixme: share
450 // lm->model = SoLightModel::BASE_COLOR;
451 // sep->addChild(lm);
452 // }
453  SoIndexedLineSet * lineset = new SoIndexedLineSet;
454  lineset->coordIndex.setValues(0,20,sogenericbox_vindices_foraltreplines);
455  lineset->vertexProperty = vertices;
456  sep->addChild(lineset);
457  }
458 
459  alternateRep.setValue(sep);
460 
461 }

◆ generatePrimitives()

void SoGenericBox::generatePrimitives ( SoAction *  action)
protectedvirtual

Definition at line 89 of file SoGenericBox.cxx.

89  {
90 
91  if (!m_points)
93 
94  // Access the state from the action
95  SoState *state = action->getState();
96 
97  if ( action->getTypeId().isDerivedFrom(SoPickAction::getClassTypeId()) ) {
98  //For picking:
99 
100  SoPrimitiveVertex vertex;
101  beginShape(action,QUADS);
102  int *iptr = sogenericbox_vindices;
103  for (int i=0;i<SOGENERICBOX_NFACES;++i) {
104  for (int j = 0; j < 4; ++j) {
105  const int ivert = *iptr++;
106  vertex.setPoint(SbVec3f(m_points[ivert*3+0], m_points[ivert*3+1], m_points[ivert*3+2]));
107  shapeVertex(&vertex);
108  }
109  }
110  endShape();
111  } else {
112 
113  glBegin(GL_QUADS);
114  int *iptr = sogenericbox_vindices;
115  for (int i=0;i<SOGENERICBOX_NFACES;i++) {
116  glNormal3fv((const GLfloat*)&m_normals[i*3]);
117  for (int j = 0; j < 4; j++)
118  glVertex3fv((const GLfloat*)&m_points[(*iptr++)*3]);
119  }
120  glEnd();
121 
122 
123  if (drawEdgeLines.getValue()) {
124 
125  const bool disableLighting(forceEdgeLinesInBaseColour.getValue()&&glIsEnabled(GL_LIGHTING));
126  const bool transparencyOn = glIsEnabled(GL_BLEND);
127 
128  if (disableLighting) glDisable(GL_LIGHTING);
129  if (transparencyOn) glDisable(GL_BLEND);
130 
131 #define trdV(i) glVertex3fv((const GLfloat*)&m_points[i*3]);
132  glBegin(GL_LINE_STRIP);
133  trdV(0)trdV(1)trdV(2)trdV(3)trdV(0)trdV(4)trdV(5)trdV(6)trdV(7)trdV(4)
134  glEnd();
135 
136  glBegin(GL_LINES);
137  trdV(3)trdV(7)
138  trdV(6)trdV(2)
139  trdV(5)trdV(1)
140  glEnd();
141 
142  if (disableLighting) glEnable(GL_LIGHTING);
143  if (transparencyOn) glEnable(GL_BLEND);
144  }
145  }
146 
147  if (state&&state->isElementEnabled(SoGLCacheContextElement::getClassStackIndex())) {
148  //Encourage auto caching
149  SoGLCacheContextElement::shouldAutoCache(state, SoGLCacheContextElement::DO_AUTO_CACHE);
150 #if ((COIN_MAJOR_VERSION>=3)||((COIN_MAJOR_VERSION==2)&&(COIN_MINOR_VERSION>=5)))
151  SoGLCacheContextElement::incNumShapes(state);
152 #endif
153  }
154 
155 }

◆ initClass()

void SoGenericBox::initClass ( )
static

Definition at line 62 of file SoGenericBox.cxx.

63 {
64  [[maybe_unused]] static const bool didInit = [&]() {
65  SO_NODE_INIT_CLASS(SoGenericBox, SoShape, "Shape");
66  return true;
67  }();
68 }

◆ internalSetParametersForEtaPhiCell()

void SoGenericBox::internalSetParametersForEtaPhiCell ( bool  barrel,
double  etaMin,
double  etaMax,
double  phiMin,
double  phiMax,
double  cellDepth,
double  cellDistance,
double  etasqueezefact,
double  phisqueezefact 
)
private

Definition at line 194 of file SoGenericBox.cxx.

198 {
200  if (phiMax<phiMin) std::swap(phiMin,phiMax);
202 
203  if (etasqueezefact!=1.0) {
204  double etashift(0.5*(1.0-etasqueezefact)*fabs(etaMax-etaMin));
205  etaMax -= etashift;
206  etaMin += etashift;
207  }
208  if (phisqueezefact!=1.0) {
209  double phishift(0.5*(1.0-phisqueezefact)*fabs(phiMax-phiMin));
210  phiMax -= phishift;
211  phiMin += phishift;
212  }
213 
214  if (cellDistance<0) cellDistance = -cellDistance;
215  if (cellDepth<0) cellDistance = std::max(cellDistance-cellDepth,0.0);
216  double tantheta2 = tan(2*atan(exp(-etaMin)));
217  double tantheta1 = tan(2*atan(exp(-etaMax)));
218  const double cpMin(cos(phiMin));
219  const double cpMax(cos(phiMax));
220  const double spMin(sin(phiMin));
221  const double spMax(sin(phiMax));
222  if (barrel) {
223  const double rf = cellDistance;
224  const double rb = cellDistance+cellDepth;
225  const double rfdivtantheta1(rf/tantheta1);
226  const double rbdivtantheta1(rb/tantheta1);
227  const double rfdivtantheta2(rf/tantheta2);
228  const double rbdivtantheta2(rb/tantheta2);
229  m_points[0*3+0] = rf*cpMin; m_points[0*3+1] = rf*spMin; m_points[0*3+2] = rfdivtantheta1;
230  m_points[1*3+0] = rf*cpMin; m_points[1*3+1] = rf*spMin; m_points[1*3+2] = rfdivtantheta2;
231  m_points[2*3+0] = rf*cpMax; m_points[2*3+1] = rf*spMax; m_points[2*3+2] = rfdivtantheta2;
232  m_points[3*3+0] = rf*cpMax; m_points[3*3+1] = rf*spMax; m_points[3*3+2] = rfdivtantheta1;
233  m_points[4*3+0] = rb*cpMin; m_points[4*3+1] = rb*spMin; m_points[4*3+2] = rbdivtantheta1;
234  m_points[5*3+0] = rb*cpMin; m_points[5*3+1] = rb*spMin; m_points[5*3+2] = rbdivtantheta2;
235  m_points[6*3+0] = rb*cpMax; m_points[6*3+1] = rb*spMax; m_points[6*3+2] = rbdivtantheta2;
236  m_points[7*3+0] = rb*cpMax; m_points[7*3+1] = rb*spMax; m_points[7*3+2] = rbdivtantheta1;
237  } else {
238  const double eta(0.5*(etaMin+etaMax));
239  const double zf(eta>0?cellDistance:-cellDistance);
240  double zb = (zf > 0 ? zf+cellDepth: zf-cellDepth);
241  m_points[0*3+0] = zf*tantheta1*cpMin; m_points[0*3+1] = zf*tantheta1*spMin; m_points[0*3+2] = zf;
242  m_points[1*3+0] = zf*tantheta2*cpMin; m_points[1*3+1] = zf*tantheta2*spMin; m_points[1*3+2] = zf;
243  m_points[2*3+0] = zf*tantheta2*cpMax; m_points[2*3+1] = zf*tantheta2*spMax; m_points[2*3+2] = zf;
244  m_points[3*3+0] = zf*tantheta1*cpMax; m_points[3*3+1] = zf*tantheta1*spMax; m_points[3*3+2] = zf;
245  m_points[4*3+0] = zb*tantheta1*cpMin; m_points[4*3+1] = zb*tantheta1*spMin; m_points[4*3+2] = zb;
246  m_points[5*3+0] = zb*tantheta2*cpMin; m_points[5*3+1] = zb*tantheta2*spMin; m_points[5*3+2] = zb;
247  m_points[6*3+0] = zb*tantheta2*cpMax; m_points[6*3+1] = zb*tantheta2*spMax; m_points[6*3+2] = zb;
248  m_points[7*3+0] = zb*tantheta1*cpMax; m_points[7*3+1] = zb*tantheta1*spMax; m_points[7*3+2] = zb;
249  }
250 
251  pointsUpdated();
252 }

◆ pointsUpdated()

void SoGenericBox::pointsUpdated ( )
private

Definition at line 375 of file SoGenericBox.cxx.

376 {
377  //Normals:
378  if (!m_normals)
379  m_normals = new float[SOGENERICBOX_NFACES*3];
380  for (int iface = 0; iface < SOGENERICBOX_NFACES; ++iface) {
381  const int index_v1 = sogenericbox_vindices[iface*4+0];
382  const int index_v2 = sogenericbox_vindices[iface*4+1];
383  const int index_v3 = sogenericbox_vindices[iface*4+2];
384 
385  //Figure out normal: (v2-v1)(x)(v3-v1)
386  const double v1X(m_points[index_v1*3+0]), v1Y(m_points[index_v1*3+1]), v1Z(m_points[index_v1*3+2]);
387  const double edge1X(m_points[index_v2*3+0]-v1X), edge1Y(m_points[index_v2*3+1]-v1Y), edge1Z(m_points[index_v2*3+2]-v1Z);
388  const double edge2X(m_points[index_v3*3+0]-v1X), edge2Y(m_points[index_v3*3+1]-v1Y), edge2Z(m_points[index_v3*3+2]-v1Z);
389 
390  double nx(edge1Y*edge2Z-edge1Z*edge2Y);
391  double ny(edge1Z*edge2X-edge1X*edge2Z);
392  double nz(edge1X*edge2Y-edge1Y*edge2X);
393  double nl(nx*nx+ny*ny+nz*nz);
394  if (nl<=0) {
395  std::cout<<"SoGenericBox::Error Could not calculate normal due to degenerate face edge"<<std::endl;
396  nx=1.0;ny=0.0;nz=0.0;nl=1;
397  //Fixme: We should try to use index_v4 instead of one vertex,
398  //to get the normal (this would allow faces where one edge was
399  //collapsed).
400  //const int index_v4 = sogenericbox_vindices[iface*4+3];
401  }
402  const double s(1.0/sqrt(nl));
403  m_normals[iface*3+0] = nx*s;
404  m_normals[iface*3+1] = ny*s;
405  m_normals[iface*3+2] = nz*s;
406  }
407 
408  //BBox:
409  float xmin(1.0e99), ymin(1.0e99), zmin(1.0e99);//fixme: -> inf
410  float xmax(-1.0e99), ymax(-1.0e99), zmax(-1.0e99);
411  for (int i=0;i<SOGENERICBOX_NPOINTS;++i) {
412  const float x(m_points[i*3+0]), y(m_points[i*3+1]), z(m_points[i*3+2]);
416  }
417  m_bbox.setBounds (xmin, ymin, zmin, xmax, ymax, zmax);
418  m_center.setValue(0.5*(xmin+xmax),0.5*(ymin+ymax),0.5*(zmin+zmax));
419 
420  drawEdgeLines.touch();
421 }

◆ setGenericParameters()

void SoGenericBox::setGenericParameters ( float  x0,
float  y0,
float  z0,
float  x1,
float  y1,
float  z1,
float  x2,
float  y2,
float  z2,
float  x3,
float  y3,
float  z3,
float  x4,
float  y4,
float  z4,
float  x5,
float  y5,
float  z5,
float  x6,
float  y6,
float  z6,
float  x7,
float  y7,
float  z7 
)

Definition at line 353 of file SoGenericBox.cxx.

361 {
363  m_points[0*3+0] = x0; m_points[0*3+1] = y0; m_points[0*3+2] = z0;
364  m_points[1*3+0] = x1; m_points[1*3+1] = y1; m_points[1*3+2] = z1;
365  m_points[2*3+0] = x2; m_points[2*3+1] = y2; m_points[2*3+2] = z2;
366  m_points[3*3+0] = x3; m_points[3*3+1] = y3; m_points[3*3+2] = z3;
367  m_points[4*3+0] = x4; m_points[4*3+1] = y4; m_points[4*3+2] = z4;
368  m_points[5*3+0] = x5; m_points[5*3+1] = y5; m_points[5*3+2] = z5;
369  m_points[6*3+0] = x6; m_points[6*3+1] = y6; m_points[6*3+2] = z6;
370  m_points[7*3+0] = x7; m_points[7*3+1] = y7; m_points[7*3+2] = z7;
371  pointsUpdated();
372 }

◆ setParametersForBarrelEtaPhiCell()

void SoGenericBox::setParametersForBarrelEtaPhiCell ( double  etaMin,
double  etaMax,
double  phiMin,
double  phiMax,
double  cellDepth,
double  cellDistance,
double  etasqueezefact = 1.0,
double  phisqueezefact = 1.0 
)

Definition at line 256 of file SoGenericBox.cxx.

260 {
261  internalSetParametersForEtaPhiCell( true, etaMin, etaMax, phiMin, phiMax,
262  cellDepth, cellDistance, etasqueezefact, phisqueezefact );
263 }

◆ setParametersForBox()

void SoGenericBox::setParametersForBox ( float  dx,
float  dy,
float  dz,
float  xcenter = 0.0,
float  ycenter = 0.0,
float  zcenter = 0.0 
)

Definition at line 179 of file SoGenericBox.cxx.

180  {
182  m_points[0*3+0] = xcenter+dx; m_points[0*3+1] = ycenter+dy; m_points[0*3+2] = zcenter-dz;
183  m_points[1*3+0] = xcenter-dx; m_points[1*3+1] = ycenter+dy; m_points[1*3+2] = zcenter-dz;
184  m_points[2*3+0] = xcenter-dx; m_points[2*3+1] = ycenter-dy; m_points[2*3+2] = zcenter-dz;
185  m_points[3*3+0] = xcenter+dx; m_points[3*3+1] = ycenter-dy; m_points[3*3+2] = zcenter-dz;
186  m_points[4*3+0] = xcenter+dx; m_points[4*3+1] = ycenter+dy; m_points[4*3+2] = zcenter+dz;
187  m_points[5*3+0] = xcenter-dx; m_points[5*3+1] = ycenter+dy; m_points[5*3+2] = zcenter+dz;
188  m_points[6*3+0] = xcenter-dx; m_points[6*3+1] = ycenter-dy; m_points[6*3+2] = zcenter+dz;
189  m_points[7*3+0] = xcenter+dx; m_points[7*3+1] = ycenter-dy; m_points[7*3+2] = zcenter+dz;
190  pointsUpdated();
191 }

◆ setParametersForEndCapEtaPhiCell()

void SoGenericBox::setParametersForEndCapEtaPhiCell ( double  etaMin,
double  etaMax,
double  phiMin,
double  phiMax,
double  cellDepth,
double  cellDistance,
double  etasqueezefact = 1.0,
double  phisqueezefact = 1.0 
)

Definition at line 266 of file SoGenericBox.cxx.

270 {
271  internalSetParametersForEtaPhiCell( false, etaMin, etaMax, phiMin, phiMax,
272  cellDepth, cellDistance, etasqueezefact, phisqueezefact );
273 }

◆ setParametersForTrapezoid()

void SoGenericBox::setParametersForTrapezoid ( float  dz,
float  theta,
float  phi,
float  dy1,
float  dx1,
float  dx2,
float  dy2,
float  dx3,
float  dx4,
float  alp1,
float  alp2 
)

Definition at line 293 of file SoGenericBox.cxx.

297 {
299  const float tanTheta(tan(theta));
300  const float TthetaCphi = tanTheta*cos(phi);
301  const float TthetaSphi = tanTheta*sin(phi);
302  const float Talp1 = tan(alp1);
303  const float Talp2 = tan(alp2);
304 
305  m_points[0*3+0] = dx2+dy1*Talp1;
306  m_points[0*3+1] = dy1;
307  m_points[0*3+2] = -dz;
308 
309  m_points[1*3+0] = -dx2+dy1*Talp1;
310  m_points[1*3+1] = dy1;
311  m_points[1*3+2] = -dz;
312 
313  m_points[2*3+0] = -dx1-dy1*Talp1;
314  m_points[2*3+1] = -dy1;
315  m_points[2*3+2] = -dz;
316 
317  m_points[3*3+0] = dx1-dy1*Talp1;
318  m_points[3*3+1] = -dy1;
319  m_points[3*3+2] = -dz;
320 
321  m_points[4*3+0] = dx4+dy2*Talp2;
322  m_points[4*3+1] = dy2;
323  m_points[4*3+2] = dz;
324 
325  m_points[5*3+0] = -dx4+dy2*Talp2;
326  m_points[5*3+1] = dy2;
327  m_points[5*3+2] = dz;
328 
329  m_points[6*3+0] = -dx3-dy2*Talp2;
330  m_points[6*3+1] = -dy2;
331  m_points[6*3+2] = dz;
332 
333  m_points[7*3+0] = dx3-dy2*Talp2;
334  m_points[7*3+1] = -dy2;
335  m_points[7*3+2] = dz;
336 
337  const float dzTthetaCphi(dz*TthetaCphi);
338  const float dzTthetaSphi(dz*TthetaSphi);
339  int i;
340  for (i=0;i<4;i++) {
341  m_points[i*3+0] -= dzTthetaCphi;
342  m_points[i*3+1] -= dzTthetaSphi;
343  }
344  for (i=4;i<8;i++) {
345  m_points[i*3+0] += dzTthetaCphi;
346  m_points[i*3+1] += dzTthetaSphi;
347  }
348  pointsUpdated();
349 }

◆ setParametersForTrd()

void SoGenericBox::setParametersForTrd ( float  dx1,
float  dx2,
float  dy1,
float  dy2,
float  dz 
)

Definition at line 276 of file SoGenericBox.cxx.

279 {
281  m_points[0*3+0] = dx1; m_points[0*3+1] = dy1; m_points[0*3+2] = -dz;
282  m_points[1*3+0] = -dx1; m_points[1*3+1] = dy1; m_points[1*3+2] = -dz;
283  m_points[2*3+0] = -dx1; m_points[2*3+1] = -dy1; m_points[2*3+2] = -dz;
284  m_points[3*3+0] = dx1; m_points[3*3+1] = -dy1; m_points[3*3+2] = -dz;
285  m_points[4*3+0] = dx2; m_points[4*3+1] = dy2; m_points[4*3+2] = dz;
286  m_points[5*3+0] = -dx2; m_points[5*3+1] = dy2; m_points[5*3+2] = dz;
287  m_points[6*3+0] = -dx2; m_points[6*3+1] = -dy2; m_points[6*3+2] = dz;
288  m_points[7*3+0] = dx2; m_points[7*3+1] = -dy2; m_points[7*3+2] = dz;
289  pointsUpdated();
290 }

◆ setupDefaultPoints()

void SoGenericBox::setupDefaultPoints ( )
private

Definition at line 165 of file SoGenericBox.cxx.

166 {
167  setParametersForBox( 0.5, 0.5, 0.5 );
168 }

◆ SO_NODE_HEADER()

SoGenericBox::SO_NODE_HEADER ( SoGenericBox  )
private

Member Data Documentation

◆ alternateRep

SoSFNode SoGenericBox::alternateRep

Definition at line 35 of file SoGenericBox.h.

◆ drawEdgeLines

SoSFBool SoGenericBox::drawEdgeLines

Definition at line 33 of file SoGenericBox.h.

◆ forceEdgeLinesInBaseColour

SoSFBool SoGenericBox::forceEdgeLinesInBaseColour

Definition at line 34 of file SoGenericBox.h.

◆ m_bbox

SbBox3f SoGenericBox::m_bbox
private

Definition at line 112 of file SoGenericBox.h.

◆ m_center

SbVec3f SoGenericBox::m_center
private

Definition at line 113 of file SoGenericBox.h.

◆ m_normals

float* SoGenericBox::m_normals
private

Definition at line 111 of file SoGenericBox.h.

◆ m_points

float* SoGenericBox::m_points
private

Definition at line 110 of file SoGenericBox.h.


The documentation for this class was generated from the following files:
SoGenericBox::m_bbox
SbBox3f m_bbox
Definition: SoGenericBox.h:112
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
SoGenericBox::ensurePointsAllocated
void ensurePointsAllocated()
Definition: SoGenericBox.cxx:158
ymin
double ymin
Definition: listroot.cxx:63
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
max
#define max(a, b)
Definition: cfImp.cxx:41
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
WriteCellNoiseToCool.rb
rb
Definition: WriteCellNoiseToCool.py:229
SoGenericBox::m_normals
float * m_normals
Definition: SoGenericBox.h:111
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
PixelAthClusterMonAlgCfg.zmin
zmin
Definition: PixelAthClusterMonAlgCfg.py:176
plotBeamSpotCompare.x2
x2
Definition: plotBeamSpotCompare.py:218
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:71
python.HLT.MinBias.MinBiasMenuSequences.zf
zf
Definition: MinBiasMenuSequences.py:187
xAOD::etaMax
etaMax
Definition: HIEventShape_v2.cxx:46
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
x
#define x
makeTRTBarrelCans.y1
tuple y1
Definition: makeTRTBarrelCans.py:15
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
lumiFormat.i
int i
Definition: lumiFormat.py:92
xmin
double xmin
Definition: listroot.cxx:60
z
#define z
SoGenericBox::internalSetParametersForEtaPhiCell
void internalSetParametersForEtaPhiCell(bool barrel, double etaMin, double etaMax, double phiMin, double phiMax, double cellDepth, double cellDistance, double etasqueezefact, double phisqueezefact)
Definition: SoGenericBox.cxx:194
makeTRTBarrelCans.y2
tuple y2
Definition: makeTRTBarrelCans.py:18
PixelAthClusterMonAlgCfg.zmax
zmax
Definition: PixelAthClusterMonAlgCfg.py:176
SoGenericBox::setupDefaultPoints
void setupDefaultPoints()
Definition: SoGenericBox.cxx:165
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
TRT::Track::z0
@ z0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:63
WriteCalibToCool.swap
swap
Definition: WriteCalibToCool.py:94
SoGenericBox::setParametersForBox
void setParametersForBox(float dx, float dy, float dz, float xcenter=0.0, float ycenter=0.0, float zcenter=0.0)
Definition: SoGenericBox.cxx:179
min
#define min(a, b)
Definition: cfImp.cxx:40
grepfile.sep
sep
Definition: grepfile.py:38
SoGenericBox::clearAlternateRep
virtual void clearAlternateRep()
Definition: SoGenericBox.cxx:464
SoGenericBox::alternateRep
SoSFNode alternateRep
Definition: SoGenericBox.h:35
SoGenericBox::drawEdgeLines
SoSFBool drawEdgeLines
Definition: SoGenericBox.h:33
makeTRTBarrelCans.dy
tuple dy
Definition: makeTRTBarrelCans.py:21
trdV
#define trdV(i)
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
LArCellBinning.etaMin
etaMin
Definition: LArCellBinning.py:84
y
#define y
python.CaloScaleNoiseConfig.action
action
Definition: CaloScaleNoiseConfig.py:77
SoGenericBox::forceEdgeLinesInBaseColour
SoSFBool forceEdgeLinesInBaseColour
Definition: SoGenericBox.h:34
makeTRTBarrelCans.dx
tuple dx
Definition: makeTRTBarrelCans.py:20
SoGenericBox
Definition: SoGenericBox.h:26
DetectorZone::barrel
@ barrel
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:569
xmax
double xmax
Definition: listroot.cxx:61
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
SoGenericBox::m_points
float * m_points
Definition: SoGenericBox.h:110
SoGenericBox::m_center
SbVec3f m_center
Definition: SoGenericBox.h:113
ymax
double ymax
Definition: listroot.cxx:64
SoGenericBox::pointsUpdated
void pointsUpdated()
Definition: SoGenericBox.cxx:375