28#include <Inventor/nodes/SoSeparator.h>
29#include <Inventor/nodes/SoSwitch.h>
30#include <Inventor/nodes/SoTransform.h>
31#include <Inventor/SoPath.h>
43 QList<VP1RawDataCollBase*> l;
44 for (
const QString&
name : T::availableCollections(
theclass)) {
53 QList<VP1RawDataCollBase*> l;
54 l << createSpecificCollections<VP1RawDataColl_PixelRDO>();
55 l << createSpecificCollections<VP1RawDataColl_SCT_RDO>();
56 l << createSpecificCollections<VP1RawDataColl_TRT_RDO>();
57 l << createSpecificCollections<VP1RawDataColl_BCM_RDO>();
58 l << createSpecificCollections<VP1RawDataColl_LUCID>();
74 "System showing Raw Data (RDO's, BCM hits, ...)",
75 "Thomas.Kittelmann@cern.ch"),
91 m_d->controller->collWidget()->clear();
94 m_d->common->clearEventData();
107 root->addChild(
m_d->controller->drawOptions());
111 m_d->controller->collWidget()->setCollections(
m_d->createCollections());
115 root->addChild(col->collSwitch());
122 return m_d->controller;
130 m_d->ensureInitCommonData();
133 for (; i < pickedPath->getLength(); ++i) {
134 if (pickedPath->getNodeFromTail(i)->getTypeId()==SoSeparator::getClassTypeId()) {
135 SoSeparator * sep =
static_cast<SoSeparator*
>(pickedPath->getNodeFromTail(i));
136 if (sep->getNumChildren()>0&&sep->getChild(0)->getTypeId()==SoTransform::getClassTypeId()) {
137 SoTransform * transform =
static_cast<SoTransform*
>(sep->getChild(0));
138 handle =
m_d->common->getHandle(transform);
144 for (
int j=0;j<i;++j)
148 message(
"WARNING: Unknown node clicked.");
152 if (
m_d->controller->printInfoOnClick()) {
155 if (
m_d->controller->zoomOnClick()) {
157 std::set<SoCamera*>::iterator it,itE = cameras.end();
158 for (it=cameras.begin();it!=itE;++it)
172 serialise.save(
m_d->controller->collWidget());
173 serialise.save(
m_d->controller->saveSettings());
175 serialise.disableUnsavedChecks();
177 return serialise.result();
185 message(
"Warning: State data in .vp1 file is in wrong format - ignoring!");
191 state.restore(
m_d->controller->collWidget());
192 m_d->controller->restoreSettings(
state.restoreByteArray());
194 state.disableUnrestoredChecks();
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)
void ensureBuildController()
void messageVerbose(const QString &) const
virtual void restoreFromState(QByteArray)
const QString & name() const
void message(const QString &) const
virtual QByteArray saveState()
The Athena Transient Store API.
static VP1CameraHelper * animatedZoomToPath(SoCamera *camera, SoGroup *sceneroot, SoPath *path, double duration_in_secs=1.0, double clipVolPercent=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)
virtual QStringList clicked(bool verbose) const =0
VP1RawDataCollBase * coll() const
QList< VP1RawDataCollBase * > createCollections()
VP1RawDataSysController * controller
void ensureInitCommonData()
Imp(VP1RawDataSystem *tc)
QList< VP1RawDataCollBase * > createSpecificCollections()
VP1RawDataSystem * theclass
virtual QWidget * buildController()
void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)
void restoreFromState(QByteArray)
virtual ~VP1RawDataSystem()
void userPickedNode(SoNode *pickedNode, SoPath *pickedPath)
SoSeparator * collSep() const
All 3D objects from this coll.