28#include <Inventor/C/errors/debugerror.h>
29#include <Inventor/nodes/SoLineSet.h>
30#include <Inventor/nodes/SoVertexProperty.h>
31#include <Inventor/nodes/SoSeparator.h>
32#include <Inventor/nodes/SoMaterial.h>
33#include <Inventor/nodes/SoPickStyle.h>
34#include <Inventor/nodes/SoSphere.h>
35#include <Inventor/nodes/SoMatrixTransform.h>
36#include <Inventor/SbRotation.h>
37#include <Inventor/SbMatrix.h>
38#include <Inventor/nodes/SoTranslation.h>
39#include <Inventor/nodes/SoText2.h>
49 static double dist(
const SbVec3f& p1,
const SbVec3f& p2);
100 m_d->sphere->unref();
121 m_d->sep =
new SoSeparator();
136 SoTranslation * translation =
new SoTranslation;
137 translation->translation.setValue (
m_d->vertex->x(),
m_d->vertex->y(),
m_d->vertex->z() );
138 m_d->sep->addChild ( translation );
139 m_d->sphere =
new SoSphere;
140 m_d->sphere->radius =
m_d->collHandle->collSettingsButton().vertexSize();
141 m_d->sep->addChild (
m_d->sphere );
165 using namespace xAOD;
167 switch (
m_d->vertex->vertexType()){
169 return QString(
"Type: Dummy");
171 return QString(
"Type: Primary");
173 return QString(
"Type: Secondary");
175 return QString(
"Type: Pileup");
177 return QString(
"Type: Conversion");
179 return QString(
"Type: Kink");
181 return QString(
"Type: Not specified (default)");
183 return QString(
"Unknown vertex type - probably VP1 needs updating!");
189 return m_d->vertex->x();
193 return m_d->vertex->y();
197 return m_d->vertex->z();
213 #ifndef BUILDVP1LIGHT
215 l<<
"Has "<<
VP1Msg::str(
m_d->vertex->vxTrackAtVertex ().size()) <<
" associated tracks.";
217 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.