29#include <Inventor/C/errors/debugerror.h>
30#include <Inventor/nodes/SoLineSet.h>
31#include <Inventor/nodes/SoVertexProperty.h>
32#include <Inventor/nodes/SoSeparator.h>
33#include <Inventor/nodes/SoMaterial.h>
34#include <Inventor/nodes/SoPickStyle.h>
35#include <Inventor/nodes/SoSphere.h>
36#include <Inventor/nodes/SoMatrixTransform.h>
37#include <Inventor/SbRotation.h>
38#include <Inventor/SbMatrix.h>
39#include <Inventor/nodes/SoTranslation.h>
40#include <Inventor/nodes/SoText2.h>
50 static double dist(
const SbVec3f& p1,
const SbVec3f& p2);
101 m_d->sphere->unref();
122 m_d->sep =
new SoSeparator();
137 SoTranslation * translation =
new SoTranslation;
138 translation->translation.setValue (
m_d->vertex->x(),
m_d->vertex->y(),
m_d->vertex->z() );
139 m_d->sep->addChild ( translation );
140 m_d->sphere =
new SoSphere;
141 m_d->sphere->radius =
m_d->collHandle->collSettingsButton().vertexSize();
142 m_d->sep->addChild (
m_d->sphere );
166 using namespace xAOD;
168 switch (
m_d->vertex->vertexType()){
170 return QString(
"Type: Dummy");
172 return QString(
"Type: Primary");
174 return QString(
"Type: Secondary");
176 return QString(
"Type: Pileup");
178 return QString(
"Type: Conversion");
180 return QString(
"Type: Kink");
182 return QString(
"Type: Not specified (default)");
184 return QString(
"Unknown vertex type - probably VP1 needs updating!");
190 return m_d->vertex->x();
194 return m_d->vertex->y();
198 return m_d->vertex->z();
214 #ifndef BUILDVP1LIGHT
216 l<<
"Has "<<
VP1Msg::str(
m_d->vertex->vxTrackAtVertex ().size()) <<
" associated tracks.";
218 l<<
"Vertex is missing links to tracks!";
const AODCollHandleBase * collHandle() const
AODHandleBase(AODCollHandleBase *)
Exception — Attempt to retrieve nonexistent aux data item.
static void messageVerbose(const QString &)
SoMaterial * material() const
static QString str(const QString &s)
const xAOD::Vertex * vertex
static double dist(const SbVec3f &p1, const SbVec3f &p2)
static std::atomic< int > nvtxhandles
Imp(VertexHandle *tc, const xAOD::Vertex *vtx)
VertexCollHandle * collHandle
virtual SoNode * nodes()
Returns the 3Dobjects.
virtual void clear3DObjects()
Delete objects.
SoMaterial * determineMaterial()
Should be implemented by children, in order to change the material depending on the interface etc.
VertexHandle(VertexCollHandle *, const xAOD::Vertex *vertex)
QStringList baseInfo() const
double getPositionZ() const
QString vertexType() const
double getPositionX() const
virtual QStringList clicked() const
Called when user selects the node (stringlist is displayed in messagebox).
double getPositionY() const
static int numberOfInstances()
virtual bool has3DObjects()
Returns true if the 3D objects have been created.
virtual QString shortInfo() const
returns position & type information about vertex
@ ConvVtx
Conversion vertex.
@ NotSpecified
Default value, no explicit type set.
@ SecVtx
Secondary vertex.
@ NoVtx
Dummy vertex. TrackParticle was not used in vertex fit.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Vertex_v1 Vertex
Define the latest version of the vertex class.