27#include <Inventor/C/errors/debugerror.h>
28#include <Inventor/nodes/SoSeparator.h>
29#include <Inventor/nodes/SoTransform.h>
30#include <Inventor/SoPath.h>
42 std::map< const Trk::PrepRawData *, QList<PRDHandleBase *> >
prd2handles;
61 sys,SLOT(emitTouchedMuonChambersChanged(
const std::set<GeoPVConstLink>&)));
84 m_d->sotransform2prdhandle.clear();
85 m_d->prd2handles.clear();
92 assert(
m_d->sotransform2prdhandle.find(transform)==
m_d->sotransform2prdhandle.end());
93 m_d->sotransform2prdhandle[transform] = handle;
99 if (
m_d->prd2handles.find(prd)==
m_d->prd2handles.end()) {
100 QList<PRDHandleBase*> l;
102 m_d->prd2handles[prd] = l;
104 m_d->prd2handles[prd] << handle;
111 while (pickedPath->getLength()>4) {
112 if (pickedPath->getNodeFromTail(0)->getTypeId()==SoSeparator::getClassTypeId()) {
114 SoSeparator * sep =
static_cast<SoSeparator*
>(pickedPath->getNodeFromTail(0));
115 if (sep->getNumChildren()>1&&sep->getChild(0)->getTypeId()==SoTransform::getClassTypeId()) {
116 std::map<SoNode*,PRDHandleBase*>::iterator it =
m_d->sotransform2prdhandle.find(sep->getChild(0));
117 if ( it!=
m_d->sotransform2prdhandle.end())
static InDetProjHelper * createTRTHelper(IVP1System *sys=0)
static InDetProjHelper * createPixelHelper(IVP1System *sys=0)
static InDetProjHelper * createSCTHelper(IVP1System *sys=0)
std::map< const Trk::PrepRawData *, QList< PRDHandleBase * > > prd2handles
std::map< SoNode *, PRDHandleBase * > sotransform2prdhandle
PRDHandleBase * pickedPathToHandle(SoPath *pickedPath)
virtual ~PRDSysCommonData()
MuonChamberProjectionHelper * m_muonChamberProjectionHelper
PRDHandleBase * pickedPathToHandle(SoPath *pickedPath)
PRDTrackSegmentHelper * m_trackAndSegmentHelper
HitsSoNodeManager * m_nodeManager
InDetProjHelper * m_indetProjHelper_SCT
void registerPRD2Handle(const Trk::PrepRawData *prd, PRDHandleBase *handle)
IVP13DSystem * m_3dsystem
PRDSystemController * m_controller
TouchedMuonChamberHelper * m_touchedMuonChamberHelper
InDetProjHelper * m_indetProjHelper_Pixel
PRDSystemController * controller() const
InDetProjHelper * m_indetProjHelper_TRT
VP1SoMaterialMixer * m_materialMixer
PRDSysCommonData(IVP13DSystem *, PRDSystemController *)
void registerTransform2Handle(SoTransform *transform, PRDHandleBase *handle)
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")