ATLAS Offline Software
AscObj_TrackState.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // //
7 // Implementation of class AscObj_TrackState //
8 // //
10 
12 
13 #include <Inventor/nodes/SoCamera.h>
14 #include <Inventor/nodes/SoCylinder.h>
15 #include <Inventor/nodes/SoLineSet.h>
16 #include <Inventor/nodes/SoMaterial.h>
17 #include <Inventor/nodes/SoPointSet.h>
18 #include <Inventor/nodes/SoRotationXYZ.h>
19 #include <Inventor/nodes/SoSeparator.h>
20 #include <Inventor/nodes/SoSphere.h>
21 #include <Inventor/nodes/SoTransform.h>
22 #include <Inventor/nodes/SoTranslation.h>
23 #include <Inventor/nodes/SoVertexProperty.h>
24 #include "VP1HEPVis/nodes/SoTubs.h"
25 
26 #include <set>
27 
28 #include "Acts/Surfaces/Surface.hpp"
29 #include "Acts/EventData/ParticleHypothesis.hpp"
34 #include "VP1Base/IVP13DSystem.h"
36 #include "VP1Base/VP1Msg.h"
38 #include "VP1Base/VP1QtUtils.h"
48 #include "VP1Utils/VP1DetInfo.h"
49 #include "VP1Utils/VP1ErrorUtils.h"
51 
52 static double surfaceThickness = 0.1;
53 
54 //____________________________________________________________________
56  TrackHandleBase* track, unsigned indexOfPointOnTrack,
57  const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy& trackstate)
59  m_parts(TrackCommonFlags::TSOS_NoObjects),
60  m_indexOfPointOnTrack(indexOfPointOnTrack),
61  m_distToNextPar(-1),
62  m_objBrowseTree(nullptr),
63  m_trackstate(trackstate)
64 {
66  if (m_trackstate.hasReferenceSurface()) {
67  if (surface().associatedDetectorElement())
69  else
71  }
72 
73  if (m_trackstate.typeFlags().test(Acts::TrackStateFlag::ParameterFlag ))
75 
76  if (m_trackstate.typeFlags().test(Acts::TrackStateFlag::MeasurementFlag)){
78  if (m_trackstate.typeFlags().test(Acts::TrackStateFlag::OutlierFlag ))
80  else
82  }
83 
84  if (m_trackstate.typeFlags().test(Acts::TrackStateFlag::HoleFlag))
86 
87  if (m_trackstate.typeFlags().test(Acts::TrackStateFlag::MaterialFlag ))
89 }
90 
91 //____________________________________________________________________
93  // We assume this is called right after the constructor - so no need
94  // to update 3D objects.
96 }
97 
98 //____________________________________________________________________
100  if (hasSurface())
101  return surface().center( common()->geometryContext().context() );
103  "AscObj_TrackState::approxCenter() WARNING: Failed to determine"
104  " position from either params or surface");
105  return Amg::Vector3D(0, 0, 0);
106 }
107 
108 //____________________________________________________________________
111  static const double l = 30.0 * CLHEP::cm;
112  return static_cast<int>(c.z() / l) + 1000 * static_cast<int>(c.y() / l) +
113  1000000 * static_cast<int>(c.x() / l);
114 }
115 
116 // TODO - add back getZTranslationTube
117 
118 //____________________________________________________________________
119 void AscObj_TrackState::addTrackParamInfoToShapes(SoSeparator*& shape_simple,
120  SoSeparator*& shape_detailed,
121  bool showPars,
122  bool showParsErrors,
123  bool ) {
124  ensureInitSeps(shape_simple, shape_detailed);
125 
126  SoSeparator* param_simple = new SoSeparator;
127  SoSeparator* param_detailed = new SoSeparator;
128 
129  if (!m_trackstate.hasReferenceSurface()) {
130  // FIXME - do not know how to handle this yet, since I think I need the
131  // surface to get the position
133  "AscObj_TrackState::addTrackParamInfoToShapes() - no reference "
134  "surface");
135  return;
136  }
137 
138  const Acts::BoundTrackParameters trackparams(
139  m_trackstate.referenceSurface().getSharedPtr(), m_trackstate.parameters(),
141  auto p1 = trackparams.position(common()->geometryContext().context());
142  if (showPars) {
143  auto u = trackparams.direction().unit();
144  double length = 15 * CLHEP::cm;
145  if (m_distToNextPar > 0)
147  Amg::Vector3D p2 = p1 + length * u;
148  // Line:
149  SoLineSet* line = new SoLineSet();
150  SoVertexProperty* vertices = new SoVertexProperty();
151  vertices->vertex.set1Value(0, p1.x(), p1.y(), p1.z());
152  vertices->vertex.set1Value(1, p2.x(), p2.y(), p2.z());
153  line->numVertices.set1Value(0, 2);
154 
155  // Point:
156  SoPointSet* points = new SoPointSet;
157  SoVertexProperty* vertices2 = new SoVertexProperty;
158  vertices2->vertex.set1Value(0, p1.x(), p1.y(), p1.z());
159  points->numPoints = 1;
160  line->vertexProperty = vertices;
161  points->vertexProperty = vertices2;
162  bool isHole = m_parts & TrackCommonFlags::TSOS_Hole;
163 
164  if (trackHandle()->customColouredTSOSParts() &
166  (isHole && (trackHandle()->customColouredTSOSParts() &
168  SoMaterial* mat = isHole
171  SoSeparator* sep = new SoSeparator;
172  sep->addChild(mat);
173  sep->addChild(line);
174  sep->addChild(points);
175  param_simple->addChild(sep);
176  param_detailed->addChild(sep);
177  } else {
178  param_simple->addChild(line);
179  param_simple->addChild(points);
180  param_detailed->addChild(line);
181  param_detailed->addChild(points);
182  }
183  if (showParsErrors) {
184  // TODO
185  }
186  shape_simple->addChild(param_simple);
187  shape_detailed->addChild(param_detailed);
188  }
189 }
190 
191 //____________________________________________________________________
192 void AscObj_TrackState::addSurfaceToShapes(SoSeparator*& shape_simple,
193  SoSeparator*& shape_detailed) {
194  // VP1Msg::messageVerbose("\tAscObj_TrackState::addSurfaceToShapes() start. Type="+QString::number(surface().type())+" Bounds="+QString::number(surface().bounds().type()));
195  // Check if the TrackStateProxy has a surface
196 
197  if (!m_trackstate.hasReferenceSurface())
198  return;
199 
200  const Acts::Surface& surface = m_trackstate.referenceSurface();
201  if (surface.type()==Acts::Surface::SurfaceType::Straw && common()->controller()->hideTubeSurfaces())
202  return;
203 
204  SoTransform* sotra = VP1LinAlgUtils::toSoTransform(surface.transform(common()->geometryContext().context()));
205  shape_detailed->addChild(sotra);
206 
207  //
208  // enum SurfaceType {
209  // Cone = 0,
210  // Cylinder = 1,
211  // Disc = 2,
212  // Perigee = 3,
213  // Plane = 4,
214  // Straw = 5,
215  // Curvilinear = 6,
216  // Other = 7
217  // };
218 
219  // enum BoundsType : int {
220  // eCone = 0,
221  // eCylinder = 1,
222  // eDiamond = 2,
223  // eDisc = 3,
224  // eEllipse = 4,
225  // eLine = 5,
226  // eRectangle = 6,
227  // eTrapezoid = 7,
228  // eTriangle = 8,
229  // eDiscTrapezoid = 9,
230  // eConvexPolygon = 10,
231  // eAnnulus = 11,
232  // eBoundless = 12,
233  // eOther = 13
234  // };
235 
236 
237 
238  switch (surface.type()) {
240  addPlaneSurfaceToShapes(shape_simple, shape_detailed, surface);
241  break;
242  }
244  addCylindricalSurfaceToShapes(shape_simple, shape_detailed, surface);
245  break;
246  }
247  default:
248  VP1Msg::messageVerbose("Cannot currently handle surface of type" + QString::number(surface.type()));
249  break;
250  }
251  VP1Msg::messageVerbose("AscObj_TrackState::addSurfaceToShapes() end");
252 }
253 
255  SoNode*& shape_detailed) {
256  if (trackHandle()->customColouredTSOSParts()&TrackCommonFlags::TSOS_AnySurface) {
257  SoMaterial * mat = common()->controller()->customMatSurfaces();
258  if (shape_detailed->getTypeId().isDerivedFrom(SoSeparator::getClassTypeId())) {
259  // static_cast<SoSeparator*>(theSurfSepSimple)->insertChild(mat,0); TODO
260  static_cast<SoSeparator*>(shape_detailed)->insertChild(mat,0);
261  } else {
262 
263  // SoSeparator * sepSimple = new SoSeparator;
264  // sepSimple->addChild(mat);
265  // sepSimple->addChild(theSurfSepSimple);
266  // nodeToAddSimple = sepSimple;
267  // TODO ^
268  SoSeparator * sep = new SoSeparator;
269  sep->addChild(mat);
270  sep->addChild(shape_detailed);
271  shape_detailed = sep;
272  }
273  }
274 }
275 
276 void AscObj_TrackState::addPlaneSurfaceToShapes(SoSeparator*& shape_simple,
277  SoSeparator*& shape_detailed,
278  const Acts::Surface& surface) {
279 
280  SoNode * nodeToAddSimple = nullptr;
281  SoNode * nodeToAddDetailed = nullptr;
282 
283  // Check bounds
284  switch (surface.bounds().type()) {
285  case Acts::SurfaceBounds::BoundsType::eBoundless: {
286  const double halfX = 100.0; // FIXME - make this configurable?
287  const double halfY = 100.0;
288  SoGenericBox* box = new SoGenericBox;
289  box->setParametersForBox(halfX, halfY,
290  0.5 * surfaceThickness);
291  box->drawEdgeLines.setValue(true);
292  nodeToAddDetailed = box;
293  break;
294  }
295  case Acts::SurfaceBounds::BoundsType::eRectangle: {
296 
297  const Acts::RectangleBounds& rectBounds =
298  dynamic_cast<const Acts::RectangleBounds&>(surface.bounds());
299  const double halfX = rectBounds.halfLengthX();
300  const double halfY = rectBounds.halfLengthY();
301  SoGenericBox* box = new SoGenericBox;
302  box->setParametersForBox(halfX, halfY,
303  0.5 * surfaceThickness);
304  box->drawEdgeLines.setValue(true);
305  nodeToAddDetailed = box;
306  // TODO simple
307  break;
308  }
309  default: {
310  VP1Msg::messageVerbose("Cannot currently handle surface bound of type" + QString::number(surface.bounds().type()));
311  break;
312  }
313  }
314 
315  if (nodeToAddDetailed!=nullptr){
316  addMaterialToSurfaceShapes(nodeToAddSimple, nodeToAddDetailed);
317  shape_simple->addChild(nodeToAddDetailed); // FIXME
318  shape_detailed->addChild(nodeToAddDetailed);
319  }
320 }
321 
322 void AscObj_TrackState::addCylindricalSurfaceToShapes(SoSeparator*& shape_simple,
323  SoSeparator*& shape_detailed,
324  const Acts::Surface& surface) {
325  SoNode * nodeToAddSimple = nullptr;
326  SoNode * nodeToAddDetailed = nullptr;
327  // Check bounds
328  switch (surface.bounds().type()) {
329  case Acts::SurfaceBounds::BoundsType::eLine: {
330  const Acts::LineBounds& lineBounds =
331  dynamic_cast<const Acts::LineBounds&>(surface.bounds());
332  double hlength = lineBounds.get(Acts::LineBounds::eHalfLengthZ);
333 
334  SoVertexProperty * scatVtxProperty = new SoVertexProperty();
335  scatVtxProperty->vertex.set1Value(0, 0.0,0.0,-hlength);
336  scatVtxProperty->vertex.set1Value(1, 0.0,0.0, hlength);
337  SoLineSet * lineSurface = new SoLineSet();
338  lineSurface->numVertices = 2;
339  lineSurface->vertexProperty = scatVtxProperty;
340 
341  nodeToAddSimple = lineSurface;
342 
343  double radius = lineBounds.get(Acts::LineBounds::eR);
344 
345  SoTubs* lineSurfaceDetailed = new SoTubs();
346  (*lineSurfaceDetailed).pRMin = 0.;
347  (*lineSurfaceDetailed).pRMax = radius;
348  (*lineSurfaceDetailed).pDz = hlength;
349 
350  nodeToAddDetailed = lineSurfaceDetailed;
351  break;
352  }
353  default: {
354  VP1Msg::messageVerbose("AscObj_TrackState::addCylindricalSurfaceToShapes(): Unsupported bounds type.");
355  break;
356  }
357  }
358  if (nodeToAddDetailed!=nullptr){
359  addMaterialToSurfaceShapes(nodeToAddSimple, nodeToAddDetailed);
360  shape_simple->addChild(nodeToAddDetailed);
361  shape_detailed->addChild(nodeToAddDetailed);
362  }
363 }
364 
365 //____________________________________________________________________
367  SoSeparator*& , SoSeparator*& ) {}
368 
369 void AscObj_TrackState::addMeasurementToShapes(SoSeparator*& shape_simple,
370  SoSeparator*& shape_detailed) {
371 
372  auto flag = m_trackstate.typeFlags();
373 
374  // Check if the TrackStateProxy has a measurement
375  if (!m_trackstate.hasReferenceSurface() ||
376  !flag.test(Acts::TrackStateFlag::MeasurementFlag ||
377  !(m_trackstate.hasUncalibratedSourceLink())))
378  return;
379 
380  ensureInitSeps(shape_simple, shape_detailed);
381  TrackCommonFlags::TSOSPartsFlags f(trackHandle()->shownTSOSParts() & m_parts);
382  const bool showMeas(f & TrackCommonFlags::TSOS_AnyMeasurement);
383  // const bool showMeasErrors(f & TrackCommonFlags::TSOS_MeasError);
384  if (showMeas) {
385  if (m_parts & trackHandle()->customColouredTSOSParts() &
387  SoMaterial* mat;
388  if (m_parts & trackHandle()->customColouredTSOSParts() &
391  else
393  shape_simple->addChild(mat);
394  shape_detailed->addChild(mat);
395  }
396 
397  // Handle measurements
398  auto sl = m_trackstate.getUncalibratedSourceLink()
400  assert(sl != nullptr);
401  const xAOD::UncalibratedMeasurement& uncalibMeas =
403 
404  const xAOD::UncalibMeasType measurementType = uncalibMeas.type();
405 
406  switch (measurementType) {
408  // Drift tubes
409  break;
410  }
417  // TODO
418  break;
419  }
421  // TODO
422  break;
423  }
425  default: {
427  "AscObj_TrackState::addMeasurementToShapes: Unable to handle this "
428  "measurement type ");
429  break;
430  }
431  }
432  }
433 }
434 
435 //____________________________________________________________________
436 void AscObj_TrackState::ensureInitSeps(SoSeparator*& shape_simple,
437  SoSeparator*& shape_detailed) {
438  if (!shape_simple)
439  shape_simple = new SoSeparator;
440  if (!shape_detailed)
441  shape_detailed = new SoSeparator;
442 }
443 
444 //____________________________________________________________________
445 void AscObj_TrackState::buildShapes(SoSeparator*& shape_simple,
446  SoSeparator*& shape_detailed) {
447  VP1Msg::messageVerbose("AscObj_TrackState::buildShapes() start");
448 
449  TrackCommonFlags::TSOSPartsFlags f(trackHandle()->shownTSOSParts()&m_parts);
451  VP1Msg::messageVerbose("AscObj_TrackState::buildShapes() - no objects to show with shownTSOSParts="+QString::number(trackHandle()->shownTSOSParts())+" and m_parts="+QString::number(m_parts));
452  return;
453  }
454  // TODO Implement the following
455  const bool showPars(f & TrackCommonFlags::TSOS_TrackPars);
456  // const bool showParsErrors(f & TrackCommonFlags::TSOS_AnyParsErrors);
457  // const bool showMeas(f & TrackCommonFlags::TSOS_AnyMeasRioOnTrack);
458  // const bool showCompetingRioOnTrack(f & TrackCommonFlags::TSOS_AnyMeasCompetingRioOnTrack);
459  const bool showSurfaces(f & TrackCommonFlags::TSOS_AnySurface);
460  // const bool showMaterialEffects(f & TrackCommonFlags::TSOS_AnyMaterialEffects);
461  // const bool showMeasErrors(f & TrackCommonFlags::TSOS_MeasError);
462  ensureInitSeps(shape_simple,shape_detailed);
463 
464  if (showPars)
465  addTrackParamInfoToShapes( shape_simple, shape_detailed, showPars, false, false);
466 
467  if (showSurfaces)
468  addSurfaceToShapes( shape_simple, shape_detailed);
469 
470  // addMeasurementToShapes is crashing at the moment. Need to investigate
471  // if (showMeas)
472  // addMeasurementToShapes( shape_simple, shape_detailed);
473 
474  VP1Msg::messageVerbose("AscObj_TrackState::buildShapes() end");
475 
476 }
477 
478 //____________________________________________________________________
480  QStringList l;
481  return l;
482 }
483 
486 }
487 
489  VP1Msg::messageVerbose("AscObj_TrackState::zoomView()");
490  if ( common()->controller()->orientAndZoomOnSingleSelection() )
491  {
492  // Zoom without orientation
493  // TODO - add orientation?
494  VP1Msg::messageVerbose("AscObj_TrackState::zoomView() Zoom without orientation");
495  std::set<SoCamera*> cameras = common()->system()->getCameraList();
496  std::set<SoCamera*>::iterator it,itE = cameras.end();
497  for (it=cameras.begin();it!=itE;++it) {
498  if (common()->controller()->assocObjDetailLevel()==TrackCommonFlags::SIMPLE)
499  {
500  VP1CameraHelper::animatedZoomToSubTree(*it,common()->ascObjSelectionManager()->getAscObjAttachSep(),shapeSimple(),2.0,1.0);
501  } else
502  {
503  VP1CameraHelper::animatedZoomToSubTree(*it,common()->ascObjSelectionManager()->getAscObjAttachSep(),shapeDetailed(),2.0,1.0);
504  }
505  }
506  } else {
507  VP1Msg::messageVerbose("AscObj_TrackState::zoomView() - zooming on selection not turned on.");
508  }
509 }
510 
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
VP1ErrorUtils.h
AssociatedObjectHandleBase
Definition: AssociatedObjectHandleBase.h:35
AscObj_TrackState::AscObj_TrackState
AscObj_TrackState(TrackHandleBase *, unsigned indexOfPointOnTrack, const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy &state)
Definition: AscObj_TrackState.cxx:55
checkFileSG.line
line
Definition: checkFileSG.py:75
xAOD::UncalibMeasType::HGTDClusterType
@ HGTDClusterType
TrackSysCommonData::controller
TrackSystemController * controller() const
Definition: TrackSysCommonData.h:124
TrackCommonFlags::SIMPLE
@ SIMPLE
Definition: TrackCommonFlags.h:39
TrackCommonFlags::TSOS_AnyMeasurement
@ TSOS_AnyMeasurement
Definition: TrackCommonFlags.h:61
TrackSystemController.h
AscObj_TrackState::addCylindricalSurfaceToShapes
void addCylindricalSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface)
Definition: AscObj_TrackState.cxx:322
SoTubs
SoTubs - Inventor version of the G4Tubs Geant Geometry entity.
Definition: SoTubs.h:52
AscObj_TrackState::surface
const Acts::Surface & surface() const
Definition: AscObj_TrackState.h:44
xAOD::UncalibMeasType::StripClusterType
@ StripClusterType
hist_file_dump.d
d
Definition: hist_file_dump.py:137
VP1Msg.h
VP1CameraHelper.h
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:55
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
AssociatedObjectHandleBase::hasSurface
bool hasSurface() const
Definition: AssociatedObjectHandleBase.h:52
TrackHandleBase.h
TrackCommonFlags
Definition: TrackCommonFlags.h:21
AscObj_TrackState::addMeasurementToShapes
void addMeasurementToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:369
TRTCalib_cfilter.p1
p1
Definition: TRTCalib_cfilter.py:130
xAOD::UncalibMeasType::MMClusterType
@ MMClusterType
skel.it
it
Definition: skel.GENtoEVGEN.py:396
VP1QtUtils.h
TrackSysCommonData::system
VP1TrackSystem * system() const
Definition: TrackSysCommonData.h:122
xAOD::pion
@ pion
Definition: TrackingPrimitives.h:196
TrackCommonFlags::TSOS_AnySurface
@ TSOS_AnySurface
Definition: TrackCommonFlags.h:60
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
TrackSysCommonData.h
AscObj_TrackState::addPlaneSurfaceToShapes
void addPlaneSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface)
Definition: AscObj_TrackState.cxx:276
AscObj_TrackState::addTrackParamInfoToShapes
void addTrackParamInfoToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, bool showPars, bool showParsErrors, bool showSurfaces)
Definition: AscObj_TrackState.cxx:119
AscObj_TrackState::m_trackstate
const ActsTrk::TrackStateBackend::ConstTrackStateProxy m_trackstate
Definition: AscObj_TrackState.h:64
xAOD::UncalibMeasType::sTgcStripType
@ sTgcStripType
AssociatedObjectHandleBase::trackHandle
TrackHandleBase * trackHandle() const
Definition: AssociatedObjectHandleBase.h:64
SoTransparency.h
AscObj_TrackState::addMaterialToSurfaceShapes
void addMaterialToSurfaceShapes(SoNode *&shape_simple, SoNode *&shape_detailed)
Definition: AscObj_TrackState.cxx:254
AscObj_TrackState::approxCenter
Amg::Vector3D approxCenter() const
Definition: AscObj_TrackState.cxx:99
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
AscObj_TrackState::m_distToNextPar
double m_distToNextPar
Definition: AscObj_TrackState.h:62
TruthTest.itE
itE
Definition: TruthTest.py:25
xAOD::UncalibMeasType::TgcStripType
@ TgcStripType
VP1QtInventorUtils.h
AscObj_TrackState::m_parts
TrackCommonFlags::TSOSPartsFlags m_parts
Definition: AscObj_TrackState.h:60
VP1LinAlgUtils.h
VP1DetInfo.h
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
TRTCalib_cfilter.p2
p2
Definition: TRTCalib_cfilter.py:131
TrackCommonFlags::TSOS_TrackPars
@ TSOS_TrackPars
bit 0
Definition: TrackCommonFlags.h:44
xAOD::UncalibratedMeasurement_v1
Definition: UncalibratedMeasurement_v1.h:13
TrkObjToString.h
EventPrimitivesToStringConverter.h
AssociatedObjectHandleBase::common
TrackSysCommonData * common() const
Definition: AssociatedObjectHandleBase.cxx:105
xAOD::UncalibratedMeasurement_v1::type
virtual xAOD::UncalibMeasType type() const =0
Returns the type of the measurement type as a simple enumeration.
SoTransparency::initClass
static void initClass()
Definition: SoTransparency.cxx:29
AscObj_TrackState::buildShapes
void buildShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:445
TrackCommonFlags::TSOS_MeasRioOnTrackOutlier
@ TSOS_MeasRioOnTrackOutlier
bit 6
Definition: TrackCommonFlags.h:50
TrackSystemController::customMatSurfaces
SoMaterial * customMatSurfaces() const
Definition: TrackSystemController.cxx:1397
IVP13DSystem.h
master.flag
bool flag
Definition: master.py:29
TrackSystemController::customMatHoleParameters
SoMaterial * customMatHoleParameters() const
Definition: TrackSystemController.cxx:1379
AscObj_TrackState::ensureInitSeps
static void ensureInitSeps(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:436
AscObj_TrackState::setVisible
virtual void setVisible(bool)
Definition: AscObj_TrackState.cxx:484
xAOD::Other
@ Other
hist_file_dump.f
f
Definition: hist_file_dump.py:135
AscObjSelectionManager.h
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
AssociatedObjectHandleBase::setVisible
virtual void setVisible(bool)
Definition: AssociatedObjectHandleBase.cxx:171
TrackSystemController::customMatParameters
SoMaterial * customMatParameters() const
Definition: TrackSystemController.cxx:1373
TrackCommonFlags::TSOS_MaterialEffects
@ TSOS_MaterialEffects
bit 13
Definition: TrackCommonFlags.h:56
AscObj_TrackState::clicked
QStringList clicked()
Definition: AscObj_TrackState.cxx:479
grepfile.sep
sep
Definition: grepfile.py:38
TrackCommonFlags::TSOS_AnyMeasRioOnTrack
@ TSOS_AnyMeasRioOnTrack
Definition: TrackCommonFlags.h:64
TrackSystemController::customMatMeasurementsOutliers
SoMaterial * customMatMeasurementsOutliers() const
Definition: TrackSystemController.cxx:1367
xAOD::Straw
@ Straw
Definition: TrackingPrimitives.h:557
AscObj_TrackState::zoomView
void zoomView()
Depending on the controller settings, will attempt to zoom the view to this TSOS, for example in clic...
Definition: AscObj_TrackState.cxx:488
python.selection.number
number
Definition: selection.py:20
TrackCommonFlags::TSOS_MeasRioOnTrackNotOutlier
@ TSOS_MeasRioOnTrackNotOutlier
bit 4
Definition: TrackCommonFlags.h:48
TrackCommonFlags::TSOS_SurfacesDetElem
@ TSOS_SurfacesDetElem
bit 9
Definition: TrackCommonFlags.h:52
TrackCommonFlags::TSOS_Hole
@ TSOS_Hole
bit 14
Definition: TrackCommonFlags.h:57
ActsTrk::getUncalibratedMeasurement
const xAOD::UncalibratedMeasurement & getUncalibratedMeasurement(const ATLASUncalibSourceLink &source_link)
Definition: ATLASSourceLink.h:26
VP1Msg::messageVerbose
static void messageVerbose(const QString &)
Definition: VP1Msg.cxx:84
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
AscObj_TrackState::regionIndex
int regionIndex() const
Definition: AscObj_TrackState.cxx:109
SoGenericBox::drawEdgeLines
SoSFBool drawEdgeLines
Definition: SoGenericBox.h:33
AscObj_TrackState::addMaterialEffectsToShapes
void addMaterialEffectsToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:366
IVP13DSystem::getCameraList
CamList getCameraList()
Definition: IVP13DSystem.cxx:395
VP1Msg::message
static void message(const QString &, IVP1System *sys=0)
Definition: VP1Msg.cxx:30
AscObj_TrackState::setDistToNextPar
void setDistToNextPar(const double &)
Definition: AscObj_TrackState.cxx:92
AscObj_TrackState.h
SoGenericBox
Definition: SoGenericBox.h:26
xAOD::UncalibMeasType
UncalibMeasType
Define the type of the uncalibrated measurement.
Definition: MeasurementDefs.h:24
GeoPrimitivesToStringConverter.h
TrackCommonFlags::TSOS_NoObjects
@ TSOS_NoObjects
Definition: TrackCommonFlags.h:43
SoTubs.h
AssociatedObjectHandleBase::shapeSimple
SoSeparator * shapeSimple() const
Definition: AssociatedObjectHandleBase.cxx:200
AssociatedObjectHandleBase::shapeDetailed
SoSeparator * shapeDetailed() const
Definition: AssociatedObjectHandleBase.cxx:206
TrackSystemController::customMatMeasurements
SoMaterial * customMatMeasurements() const
Definition: TrackSystemController.cxx:1361
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
SurfaceToSoNode.h
TrackCommonFlags::TSOS_SurfacesCustom
@ TSOS_SurfacesCustom
bit 10
Definition: TrackCommonFlags.h:53
xAOD::Plane
@ Plane
Definition: TrackingPrimitives.h:556
TrackHandleBase
Definition: TrackHandleBase.h:56
VP1CameraHelper::animatedZoomToSubTree
static VP1CameraHelper * animatedZoomToSubTree(SoCamera *camera, SoGroup *sceneroot, SoNode *subtreeroot, double duration_in_secs=1.0, double clipVolPercent=100.0, double lastClipVolPercent=100.0, double slack=1.0, const SbVec3f &lookat=SbVec3f(999, 999, 999), const SbVec3f &upvec=SbVec3f(999, 999, 999), bool varySpeed=true, bool forceCircular=false)
Definition: VP1CameraHelper.cxx:413
python.compressB64.c
def c
Definition: compressB64.py:93
VP1LinAlgUtils::toSoTransform
static SoTransform * toSoTransform(const HepGeom::Transform3D &, SoTransform *t=0)
Definition: VP1LinAlgUtils.cxx:40
xAOD::UncalibMeasType::RpcStripType
@ RpcStripType
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
xAOD::UncalibMeasType::MdtDriftCircleType
@ MdtDriftCircleType
SoGenericBox.h
jobOptions.points
points
Definition: jobOptions.GenevaPy8_Zmumu.py:97
xAOD::UncalibMeasType::PixelClusterType
@ PixelClusterType
VP1TrackSystem.h
common
Definition: common.py:1
AscObj_TrackState::addSurfaceToShapes
void addSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:192