 |
ATLAS Offline Software
|
#include <AscObj_TrackState.h>
|
virtual | ~AscObj_TrackState () |
|
void | addTrackParamInfoToShapes (SoSeparator *&shape_simple, SoSeparator *&shape_detailed, bool showPars, bool showParsErrors, bool showSurfaces) |
|
void | addSurfaceToShapes (SoSeparator *&shape_simple, SoSeparator *&shape_detailed) |
|
void | addMaterialToSurfaceShapes (SoNode *&shape_simple, SoNode *&shape_detailed) |
|
void | addPlaneSurfaceToShapes (SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface) |
|
void | addCylindricalSurfaceToShapes (SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface) |
|
void | addMaterialEffectsToShapes (SoSeparator *&shape_simple, SoSeparator *&shape_detailed) |
|
void | addMeasurementToShapes (SoSeparator *&shape_simple, SoSeparator *&shape_detailed) |
|
void | registerShapes (SoSeparator *simple, SoSeparator *detailed) |
|
void | unregisterShapes (SoSeparator *simple, SoSeparator *detailed) |
|
AssocObjAttachmentHandle * | getAttachmentHandle () |
|
|
static void | ensureInitSeps (SoSeparator *&shape_simple, SoSeparator *&shape_detailed) |
|
Definition at line 29 of file AscObj_TrackState.h.
◆ PICKSTYLE
◆ AscObj_TrackState()
AscObj_TrackState::AscObj_TrackState |
( |
TrackHandleBase * |
track, |
|
|
unsigned |
indexOfPointOnTrack, |
|
|
const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy & |
state |
|
) |
| |
Definition at line 64 of file AscObj_TrackState.cxx.
76 if (
surface().associatedDetectorElement())
82 if (
m_trackstate.typeFlags().test(Acts::TrackStateFlag::ParameterFlag ))
85 if (
m_trackstate.typeFlags().test(Acts::TrackStateFlag::MeasurementFlag)){
87 if (
m_trackstate.typeFlags().test(Acts::TrackStateFlag::OutlierFlag ))
93 if (
m_trackstate.typeFlags().test(Acts::TrackStateFlag::HoleFlag))
96 if (
m_trackstate.typeFlags().test(Acts::TrackStateFlag::MaterialFlag ))
◆ ~AscObj_TrackState()
virtual AscObj_TrackState::~AscObj_TrackState |
( |
| ) |
|
|
inlineprivatevirtual |
◆ addCylindricalSurfaceToShapes()
void AscObj_TrackState::addCylindricalSurfaceToShapes |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed, |
|
|
const Acts::Surface & |
surface |
|
) |
| |
|
private |
Definition at line 331 of file AscObj_TrackState.cxx.
334 SoNode * nodeToAddSimple =
nullptr;
335 SoNode * nodeToAddDetailed =
nullptr;
337 switch (
surface.bounds().type()) {
338 case Acts::SurfaceBounds::BoundsType::eLine: {
339 const Acts::LineBounds& lineBounds =
340 dynamic_cast<const Acts::LineBounds&
>(
surface.bounds());
341 double hlength = lineBounds.get(Acts::LineBounds::eHalfLengthZ);
343 SoVertexProperty * scatVtxProperty =
new SoVertexProperty();
344 scatVtxProperty->vertex.set1Value(0, 0.0,0.0,-hlength);
345 scatVtxProperty->vertex.set1Value(1, 0.0,0.0, hlength);
346 SoLineSet * lineSurface =
new SoLineSet();
347 lineSurface->numVertices = 2;
348 lineSurface->vertexProperty = scatVtxProperty;
350 nodeToAddSimple = lineSurface;
352 double radius = lineBounds.get(Acts::LineBounds::eR);
355 (*lineSurfaceDetailed).pRMin = 0.;
356 (*lineSurfaceDetailed).pRMax =
radius;
357 (*lineSurfaceDetailed).pDz = hlength;
359 nodeToAddDetailed = lineSurfaceDetailed;
367 if (nodeToAddDetailed!=
nullptr){
369 shape_simple->addChild(nodeToAddDetailed);
370 shape_detailed->addChild(nodeToAddDetailed);
◆ addMaterialEffectsToShapes()
void AscObj_TrackState::addMaterialEffectsToShapes |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed |
|
) |
| |
|
private |
◆ addMaterialToSurfaceShapes()
void AscObj_TrackState::addMaterialToSurfaceShapes |
( |
SoNode *& |
shape_simple, |
|
|
SoNode *& |
shape_detailed |
|
) |
| |
|
private |
- Parameters
-
Definition at line 263 of file AscObj_TrackState.cxx.
267 if (shape_detailed->getTypeId().isDerivedFrom(SoSeparator::getClassTypeId())) {
269 static_cast<SoSeparator*
>(shape_detailed)->insertChild(
mat,0);
277 SoSeparator *
sep =
new SoSeparator;
279 sep->addChild(shape_detailed);
280 shape_detailed =
sep;
◆ addMeasurementToShapes()
void AscObj_TrackState::addMeasurementToShapes |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed |
|
) |
| |
|
private |
Definition at line 378 of file AscObj_TrackState.cxx.
385 !
flag.test(Acts::TrackStateFlag::MeasurementFlag ||
402 shape_simple->addChild(
mat);
403 shape_detailed->addChild(
mat);
409 assert(sl !=
nullptr);
415 switch (measurementType) {
436 "AscObj_TrackState::addMeasurementToShapes: Unable to handle this "
437 "measurement type ");
◆ addPlaneSurfaceToShapes()
void AscObj_TrackState::addPlaneSurfaceToShapes |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed, |
|
|
const Acts::Surface & |
surface |
|
) |
| |
|
private |
Definition at line 285 of file AscObj_TrackState.cxx.
289 SoNode * nodeToAddSimple =
nullptr;
290 SoNode * nodeToAddDetailed =
nullptr;
293 switch (
surface.bounds().type()) {
294 case Acts::SurfaceBounds::BoundsType::eBoundless: {
295 const double halfX = 100.0;
296 const double halfY = 100.0;
299 0.5 * surfaceThickness);
301 nodeToAddDetailed = box;
304 case Acts::SurfaceBounds::BoundsType::eRectangle: {
306 const Acts::RectangleBounds& rectBounds =
307 dynamic_cast<const Acts::RectangleBounds&
>(
surface.bounds());
308 const double halfX = rectBounds.halfLengthX();
309 const double halfY = rectBounds.halfLengthY();
312 0.5 * surfaceThickness);
314 nodeToAddDetailed = box;
324 if (nodeToAddDetailed!=
nullptr){
326 shape_simple->addChild(nodeToAddDetailed);
327 shape_detailed->addChild(nodeToAddDetailed);
◆ addSurfaceToShapes()
void AscObj_TrackState::addSurfaceToShapes |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed |
|
) |
| |
|
private |
◆ addTrackParamInfoToShapes()
void AscObj_TrackState::addTrackParamInfoToShapes |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed, |
|
|
bool |
showPars, |
|
|
bool |
showParsErrors, |
|
|
bool |
showSurfaces |
|
) |
| |
|
private |
- Parameters
-
Definition at line 128 of file AscObj_TrackState.cxx.
135 SoSeparator* param_simple =
new SoSeparator;
136 SoSeparator* param_detailed =
new SoSeparator;
142 "AscObj_TrackState::addTrackParamInfoToShapes() - no reference "
147 const Acts::BoundTrackParameters trackparams(
150 auto p1 = trackparams.position(
common()->geometryContext().context());
152 auto u = trackparams.direction().unit();
158 SoLineSet*
line =
new SoLineSet();
159 SoVertexProperty* vertices =
new SoVertexProperty();
160 vertices->vertex.set1Value(0,
p1.x(),
p1.y(),
p1.z());
161 vertices->vertex.set1Value(1,
p2.x(),
p2.y(),
p2.z());
162 line->numVertices.set1Value(0, 2);
165 SoPointSet*
points =
new SoPointSet;
166 SoVertexProperty* vertices2 =
new SoVertexProperty;
167 vertices2->vertex.set1Value(0,
p1.x(),
p1.y(),
p1.z());
169 line->vertexProperty = vertices;
170 points->vertexProperty = vertices2;
175 (isHole && (
trackHandle()->customColouredTSOSParts() &
177 SoMaterial*
mat = isHole
180 SoSeparator*
sep =
new SoSeparator;
184 param_simple->addChild(
sep);
185 param_detailed->addChild(
sep);
187 param_simple->addChild(
line);
188 param_simple->addChild(
points);
189 param_detailed->addChild(
line);
190 param_detailed->addChild(
points);
192 if (showParsErrors) {
195 shape_simple->addChild(param_simple);
196 shape_detailed->addChild(param_detailed);
◆ approxCenter()
Definition at line 108 of file AscObj_TrackState.cxx.
110 return surface().center(
common()->geometryContext().context() );
112 "AscObj_TrackState::approxCenter() WARNING: Failed to determine"
113 " position from either params or surface");
◆ browserTreeItem()
virtual QTreeWidgetItem* AscObj_TrackState::browserTreeItem |
( |
| ) |
const |
|
inlinevirtual |
◆ buildShapes()
void AscObj_TrackState::buildShapes |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed |
|
) |
| |
|
virtual |
◆ clicked()
QStringList AscObj_TrackState::clicked |
( |
| ) |
|
|
virtual |
◆ common()
◆ ensureInitSeps()
void AscObj_TrackState::ensureInitSeps |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed |
|
) |
| |
|
staticprivate |
Definition at line 445 of file AscObj_TrackState.cxx.
448 shape_simple =
new SoSeparator;
450 shape_detailed =
new SoSeparator;
◆ getAttachmentHandle()
◆ hasError()
bool AssociatedObjectHandleBase::hasError |
( |
| ) |
const |
|
inlineinherited |
◆ hasMaterialEffect()
bool AssociatedObjectHandleBase::hasMaterialEffect |
( |
| ) |
const |
|
inlineinherited |
◆ hasMeasurement()
bool AssociatedObjectHandleBase::hasMeasurement |
( |
| ) |
const |
|
inlineinherited |
◆ hasParameters()
bool AssociatedObjectHandleBase::hasParameters |
( |
| ) |
const |
|
inlineinherited |
◆ hasParError()
bool AssociatedObjectHandleBase::hasParError |
( |
| ) |
const |
|
inlineinherited |
◆ hasSurface()
bool AssociatedObjectHandleBase::hasSurface |
( |
| ) |
const |
|
inlineinherited |
◆ initiatesOwnZooms()
virtual bool AscObj_TrackState::initiatesOwnZooms |
( |
| ) |
const |
|
inlinevirtual |
◆ isShortMeasurement()
bool AscObj_TrackState::isShortMeasurement |
( |
| ) |
|
Return true if TRT/MDT & shortened mode is on, false otherwise
◆ lodCrossOverValue()
double AscObj_TrackState::lodCrossOverValue |
( |
| ) |
const |
|
inlineprotectedvirtual |
◆ nParts()
virtual unsigned AssociatedObjectHandleBase::nParts |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ numberOfInstances()
int AssociatedObjectHandleBase::numberOfInstances |
( |
| ) |
|
|
staticinherited |
◆ parts()
virtual TrackCommonFlags::TSOSPartsFlags AscObj_TrackState::parts |
( |
| ) |
const |
|
inlinevirtual |
◆ pickStyle()
PICKSTYLE AssociatedObjectHandleBase::pickStyle |
( |
| ) |
const |
|
inlineinherited |
◆ regionIndex()
int AscObj_TrackState::regionIndex |
( |
| ) |
const |
|
protectedvirtual |
◆ registerShapes()
void AssociatedObjectHandleBase::registerShapes |
( |
SoSeparator * |
simple, |
|
|
SoSeparator * |
detailed |
|
) |
| |
|
privateinherited |
◆ setBrowserTreeItem()
virtual void AscObj_TrackState::setBrowserTreeItem |
( |
QTreeWidgetItem * |
obt | ) |
|
|
inlinevirtual |
◆ setDistToNextPar()
void AscObj_TrackState::setDistToNextPar |
( |
const double & |
d | ) |
|
◆ setPickable()
void AssociatedObjectHandleBase::setPickable |
( |
PICKSTYLE |
ps | ) |
|
|
inherited |
◆ setVisible()
void AscObj_TrackState::setVisible |
( |
bool |
vis | ) |
|
|
virtual |
◆ shapeDetailed()
SoSeparator * AssociatedObjectHandleBase::shapeDetailed |
( |
| ) |
const |
|
inherited |
◆ shapeSimple()
SoSeparator * AssociatedObjectHandleBase::shapeSimple |
( |
| ) |
const |
|
inherited |
◆ surface()
const Acts::Surface& AscObj_TrackState::surface |
( |
| ) |
const |
|
inline |
◆ toggleVisible()
void AssociatedObjectHandleBase::toggleVisible |
( |
| ) |
|
|
inlineinherited |
◆ trackHandle()
◆ trackState()
const ActsTrk::TrackStateBackend::ConstTrackStateProxy AscObj_TrackState::trackState |
( |
| ) |
const |
|
inline |
◆ unregisterShapes()
void AssociatedObjectHandleBase::unregisterShapes |
( |
SoSeparator * |
simple, |
|
|
SoSeparator * |
detailed |
|
) |
| |
|
privateinherited |
◆ update3DObjects()
void AssociatedObjectHandleBase::update3DObjects |
( |
| ) |
|
|
inherited |
◆ visible()
bool AssociatedObjectHandleBase::visible |
( |
| ) |
const |
|
inlineinherited |
◆ zoomView()
void AscObj_TrackState::zoomView |
( |
| ) |
|
Depending on the controller settings, will attempt to zoom the view to this TSOS, for example in click()
Definition at line 497 of file AscObj_TrackState.cxx.
499 if (
common()->controller()->orientAndZoomOnSingleSelection() )
◆ m_d
Imp* AssociatedObjectHandleBase::m_d |
|
privateinherited |
◆ m_distToNextPar
double AscObj_TrackState::m_distToNextPar |
|
private |
◆ m_indexOfPointOnTrack
unsigned AscObj_TrackState::m_indexOfPointOnTrack |
|
private |
◆ m_objBrowseTree
QTreeWidgetItem* AscObj_TrackState::m_objBrowseTree |
|
private |
◆ m_parts
TrackCommonFlags::TSOSPartsFlags AscObj_TrackState::m_parts |
|
private |
◆ m_pickStyle
PICKSTYLE AssociatedObjectHandleBase::m_pickStyle |
|
privateinherited |
◆ m_trackHandle
◆ m_trackstate
const ActsTrk::TrackStateBackend::ConstTrackStateProxy AscObj_TrackState::m_trackstate |
|
private |
◆ m_visible
bool AssociatedObjectHandleBase::m_visible |
|
privateinherited |
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
void registerAscObj(SoSeparator *simple, SoSeparator *detailed, AssociatedObjectHandleBase *)
virtual TrackCommonFlags::TSOSPartsFlags parts() const
virtual double lodCrossOverValue() const
QTreeWidgetItem * m_objBrowseTree
void attach(AssociatedObjectHandleBase *theclass)
TrackSystemController * controller() const
virtual int regionIndex() const
TrackHandleBase * m_trackHandle
void addCylindricalSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface)
SoTubs - Inventor version of the G4Tubs Geant Geometry entity.
const Acts::Surface & surface() const
TrackCollHandleBase * collHandle() const
VP1TrackSystem * system() const
AscObjSelectionManager * ascObjSelectionManager() const
void addPlaneSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface)
void addTrackParamInfoToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, bool showPars, bool showParsErrors, bool showSurfaces)
const ActsTrk::TrackStateBackend::ConstTrackStateProxy m_trackstate
TrackHandleBase * trackHandle() const
void addMaterialToSurfaceShapes(SoNode *&shape_simple, SoNode *&shape_detailed)
Amg::Vector3D approxCenter() const
@ u
Enums for curvilinear frames.
SoSeparator * sep_detailed
unsigned m_indexOfPointOnTrack
TrackCommonFlags::TSOSPartsFlags m_parts
TrackSysCommonData * common() const
virtual xAOD::UncalibMeasType type() const =0
Returns the type of the measurement type as a simple enumeration.
@ TSOS_MeasRioOnTrackOutlier
bit 6
SoMaterial * customMatSurfaces() const
SoMaterial * customMatHoleParameters() const
static void ensureInitSeps(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
void setParametersForBox(float dx, float dy, float dz, float xcenter=0.0, float ycenter=0.0, float zcenter=0.0)
virtual void setVisible(bool)
SoMaterial * customMatParameters() const
@ TSOS_AnyMaterialEffects
@ TSOS_MaterialEffects
bit 13
TrackSysCommonData * common() const
SoMaterial * customMatMeasurementsOutliers() const
@ TSOS_MeasRioOnTrackNotOutlier
bit 4
void ensureShapesBuild(AssociatedObjectHandleBase *theclass)
void unregisterAscObj(SoSeparator *simple, SoSeparator *detailed)
@ TSOS_SurfacesDetElem
bit 9
const xAOD::UncalibratedMeasurement & getUncalibratedMeasurement(const ATLASUncalibSourceLink &source_link)
static void messageVerbose(const QString &)
Eigen::Matrix< double, 3, 1 > Vector3D
static void message(const QString &, IVP1System *sys=0)
UncalibMeasType
Define the type of the uncalibrated measurement.
void ensureShapesErased(AssociatedObjectHandleBase *theclass)
SoSeparator * shapeSimple() const
AssocObjAttachmentHandle * getAttachmentHandle(int regionIndex, const double &crossoverval)
SoSeparator * shapeDetailed() const
SoMaterial * customMatMeasurements() const
@ TSOS_SurfacesCustom
bit 10
TrackSysCommonData * common() const
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)
static SoTransform * toSoTransform(const HepGeom::Transform3D &, SoTransform *t=0)
AssociatedObjectHandleBase(TrackHandleBase *)
void addSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)