|
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 55 of file AscObj_TrackState.cxx.
67 if (
surface().associatedDetectorElement())
73 if (
m_trackstate.typeFlags().test(Acts::TrackStateFlag::ParameterFlag ))
76 if (
m_trackstate.typeFlags().test(Acts::TrackStateFlag::MeasurementFlag)){
78 if (
m_trackstate.typeFlags().test(Acts::TrackStateFlag::OutlierFlag ))
84 if (
m_trackstate.typeFlags().test(Acts::TrackStateFlag::HoleFlag))
87 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 322 of file AscObj_TrackState.cxx.
325 SoNode * nodeToAddSimple =
nullptr;
326 SoNode * nodeToAddDetailed =
nullptr;
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);
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;
341 nodeToAddSimple = lineSurface;
343 double radius = lineBounds.get(Acts::LineBounds::eR);
346 (*lineSurfaceDetailed).pRMin = 0.;
347 (*lineSurfaceDetailed).pRMax =
radius;
348 (*lineSurfaceDetailed).pDz = hlength;
350 nodeToAddDetailed = lineSurfaceDetailed;
358 if (nodeToAddDetailed!=
nullptr){
360 shape_simple->addChild(nodeToAddDetailed);
361 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 254 of file AscObj_TrackState.cxx.
258 if (shape_detailed->getTypeId().isDerivedFrom(SoSeparator::getClassTypeId())) {
260 static_cast<SoSeparator*
>(shape_detailed)->insertChild(
mat,0);
268 SoSeparator *
sep =
new SoSeparator;
270 sep->addChild(shape_detailed);
271 shape_detailed =
sep;
◆ addMeasurementToShapes()
void AscObj_TrackState::addMeasurementToShapes |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed |
|
) |
| |
|
private |
Definition at line 369 of file AscObj_TrackState.cxx.
376 !
flag.test(Acts::TrackStateFlag::MeasurementFlag ||
393 shape_simple->addChild(
mat);
394 shape_detailed->addChild(
mat);
400 assert(sl !=
nullptr);
406 switch (measurementType) {
427 "AscObj_TrackState::addMeasurementToShapes: Unable to handle this "
428 "measurement type ");
◆ addPlaneSurfaceToShapes()
void AscObj_TrackState::addPlaneSurfaceToShapes |
( |
SoSeparator *& |
shape_simple, |
|
|
SoSeparator *& |
shape_detailed, |
|
|
const Acts::Surface & |
surface |
|
) |
| |
|
private |
Definition at line 276 of file AscObj_TrackState.cxx.
280 SoNode * nodeToAddSimple =
nullptr;
281 SoNode * nodeToAddDetailed =
nullptr;
284 switch (
surface.bounds().type()) {
285 case Acts::SurfaceBounds::BoundsType::eBoundless: {
286 const double halfX = 100.0;
287 const double halfY = 100.0;
290 0.5 * surfaceThickness);
292 nodeToAddDetailed = box;
295 case Acts::SurfaceBounds::BoundsType::eRectangle: {
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();
303 0.5 * surfaceThickness);
305 nodeToAddDetailed = box;
315 if (nodeToAddDetailed!=
nullptr){
317 shape_simple->addChild(nodeToAddDetailed);
318 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 119 of file AscObj_TrackState.cxx.
126 SoSeparator* param_simple =
new SoSeparator;
127 SoSeparator* param_detailed =
new SoSeparator;
133 "AscObj_TrackState::addTrackParamInfoToShapes() - no reference "
138 const Acts::BoundTrackParameters trackparams(
141 auto p1 = trackparams.position(
common()->geometryContext().context());
143 auto u = trackparams.direction().unit();
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);
156 SoPointSet*
points =
new SoPointSet;
157 SoVertexProperty* vertices2 =
new SoVertexProperty;
158 vertices2->vertex.set1Value(0,
p1.x(),
p1.y(),
p1.z());
160 line->vertexProperty = vertices;
161 points->vertexProperty = vertices2;
166 (isHole && (
trackHandle()->customColouredTSOSParts() &
168 SoMaterial*
mat = isHole
171 SoSeparator*
sep =
new SoSeparator;
175 param_simple->addChild(
sep);
176 param_detailed->addChild(
sep);
178 param_simple->addChild(
line);
179 param_simple->addChild(
points);
180 param_detailed->addChild(
line);
181 param_detailed->addChild(
points);
183 if (showParsErrors) {
186 shape_simple->addChild(param_simple);
187 shape_detailed->addChild(param_detailed);
◆ approxCenter()
Definition at line 99 of file AscObj_TrackState.cxx.
101 return surface().center(
common()->geometryContext().context() );
103 "AscObj_TrackState::approxCenter() WARNING: Failed to determine"
104 " 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 436 of file AscObj_TrackState.cxx.
439 shape_simple =
new SoSeparator;
441 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 488 of file AscObj_TrackState.cxx.
490 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)