ATLAS Offline Software
Loading...
Searching...
No Matches
VP1PrepRawDataSystem Class Reference

#include <VP1PrepRawDataSystem.h>

Inheritance diagram for VP1PrepRawDataSystem:
Collaboration diagram for VP1PrepRawDataSystem:

Classes

class  Imp

Public Types

typedef std::set< SoCamera * > CamList
typedef CamList::iterator CamListItr
enum  State { CONSTRUCTED =0 , REFRESHED , ERASED , UNCREATED }
enum  ActiveState { ON =0 , OFF }

Public Slots

void visibleTracksChanged (const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > &)
void visibleSegmentsChanged (const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > &)
void appropriateMDTProjectionsChanged (int)
void setApplicableIDProjections (InDetProjFlags::InDetProjPartsFlags pixel, InDetProjFlags::InDetProjPartsFlags sct, InDetProjFlags::InDetProjPartsFlags trt)
void muonChambersWithTracksChanged (const std::set< GeoPVConstLink > &)

Signals

void touchedMuonChambersChanged (const std::set< GeoPVConstLink > &)
void prdInMuonChamberSelected (const GeoPVConstLink &chamberPV)
void usedIDProjectionsChanged (InDetProjFlags::DetTypeFlags)
void selectedPRDsChanged (const QList< const Trk::PrepRawData * > &)
void itemFromSystemSelected ()
void sysmessage (QString) const
void inactiveSystemTurnedActive ()
void needErase ()

Public Member Functions

 VP1PrepRawDataSystem ()
virtual ~VP1PrepRawDataSystem ()
void buildEventSceneGraph (StoreGateSvc *sg, SoSeparator *root)
void buildPermanentSceneGraph (StoreGateSvc *detstore, SoSeparator *root)
void systemcreate (StoreGateSvc *detstore)
void systemerase ()
void systemuncreate ()
void userPickedNode (SoNode *pickedNode, SoPath *pickedPath)
void userSelectedSingleNode (SoCooperativeSelection *, SoNode *, SoPath *)
void userDeselectedSingleNode (SoCooperativeSelection *, SoNode *, SoPath *)
void userChangedSelection (SoCooperativeSelection *, const QSet< SoNode * > &, QSet< SoPath * >)
void userClickedOnBgd ()
virtual void deselectAll (SoCooperativeSelection *exception_sel=0)
virtual QWidget * buildController ()
QByteArray saveState ()
void restoreFromState (QByteArray)
void ensureBuildController ()
void updateGUI ()
void warnOnDisabledNotifications () const
void registerCamera (SoCamera *camera)
void registerViewer (SoQtViewer *viewer)
void registerSelectionNode (SoCooperativeSelection *)
void unregisterSelectionNode (SoCooperativeSelection *)
void setUserSelectionNotificationsEnabled (SoCooperativeSelection *sel, bool enabled)
CamList getCameraList ()
virtual QWidget * buildExtraDisplayWidget ()
const QString & name () const
const QString & information () const
const QString & contact_info () const
QWidget * controllerWidget ()
void message (const QString &) const
void message (const QStringList &, const QString &addtoend="") const
void message (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &) const
void messageDebug (const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &) const
void messageVerbose (const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &addtostart, const QStringList &, const QString &addtoend="") const
StoreGateSvcstoreGate () const
StoreGateSvceventStore () const
StoreGateSvcdetectorStore () const
ISvcLocator * serviceLocator () const
IToolSvc * toolSvc () const
State state () const
ActiveState activeState () const

Static Public Member Functions

static bool verbose ()
static QString str (const QString &s)
static QString str (const char *c)
static QString str (const bool b)
static QString str (const QColor &)
static QString str (const SbColor &)
static QString str (const VP1Interval &)
static QString str (const SbVec2d &)
static QString str (const SbVec2f &)
static QString str (const SbVec2s &)
static QString str (const SbVec3d &)
static QString str (const SbVec3f &)
static QString str (const SbVec3s &)
static QString str (const SbVec4d &)
static QString str (const SbVec4f &)
static QString str (short int n)
static QString str (unsigned short int n)
static QString str (long n)
static QString str (ulong n)
static QString str (int n)
static QString str (uint n)
static QString str (qlonglong n)
static QString str (qulonglong n)
static QString str (const double &d)
static QString str (const float &f)
static QString str (const void *)
template<class T>
static QString str (const T *t)
template<class T>
static QString str (const QFlags< T > &f)
template<class T>
static QString str (const HepGeom::BasicVector3D< T > &t)
static QString str (const Amg::Vector3D &t)
template<class T>
static QString str (const QList< T > &t)

Protected Member Functions

void registerController (QWidget *)

Private Slots

void emitTouchedMuonChambersChanged (const std::set< GeoPVConstLink > &)
void emitUsedIDProjectionsChanged (InDetProjFlags::DetTypeFlags)
void selectionModeChanged ()
void selectionVisualsChanged ()
void clearSelection ()
void updateSelectionVisualsAndPossiblyEmitPRDList ()
void activateClickedOutside ()

Private Member Functions

SoSeparator * getSceneGraph () const
void create (StoreGateSvc *detstore)
void refresh (StoreGateSvc *storegate)
void erase ()
void uncreate ()
void disallowUpdateGUI ()
void allowUpdateGUI ()
void setChannel (IVP1ChannelWidget *)
IVP1ChannelWidgetchannel () const
void deleteController ()
void setState (const State &)
void setActiveState (const ActiveState &, const bool &donttriggererase=true)
bool isRefreshing ()
void setRefreshing (const bool &)
void setCanRegisterController (const bool &)

Private Attributes

Impm_d

Static Private Attributes

static const bool s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")

Detailed Description

Definition at line 26 of file VP1PrepRawDataSystem.h.

Member Typedef Documentation

◆ CamList

typedef std::set<SoCamera*> IVP13DSystem::CamList
inherited

Definition at line 90 of file IVP13DSystem.h.

◆ CamListItr

typedef CamList::iterator IVP13DSystem::CamListItr
inherited

Definition at line 91 of file IVP13DSystem.h.

Member Enumeration Documentation

◆ ActiveState

enum IVP1System::ActiveState
inherited
Enumerator
ON 
OFF 

Definition at line 144 of file IVP1System.h.

144{ ON=0, OFF };//Whether it is part of the erase/refresh cycle.

◆ State

enum IVP1System::State
inherited
Enumerator
CONSTRUCTED 
REFRESHED 
ERASED 
UNCREATED 

Definition at line 143 of file IVP1System.h.

Constructor & Destructor Documentation

◆ VP1PrepRawDataSystem()

VP1PrepRawDataSystem::VP1PrepRawDataSystem ( )

Definition at line 204 of file VP1PrepRawDataSystem.cxx.

205: IVP13DSystemSimple("Hits",
206 "System showing tracking hits (PRD's)",
207 "Edward.Moyse@cern.ch, Thomas.Kittelmann@cern.ch"), m_d(new Imp)
208{
209 m_d->theclass = this;
210 m_d->common = 0;
211 m_d->controller = 0;
212 m_d->idprojflags_pixel = InDetProjFlags::NoProjections;
213 m_d->idprojflags_sct = InDetProjFlags::NoProjections;
214 m_d->idprojflags_trt = InDetProjFlags::NoProjections;
215 m_d->appropriatemdtprojection = 0;
216 m_d->selNode_click = 0;
217 m_d->selNode_highlight = 0;
218 m_d->multisel_sep = 0;
219
220}
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)

◆ ~VP1PrepRawDataSystem()

VP1PrepRawDataSystem::~VP1PrepRawDataSystem ( )
virtual

Definition at line 223 of file VP1PrepRawDataSystem.cxx.

224{
225 delete m_d;
226}

Member Function Documentation

◆ activateClickedOutside

void IVP13DSystem::activateClickedOutside ( )
privateslotinherited

Definition at line 85 of file IVP13DSystem.cxx.

86{
87 if (!m_d->clickedoutsideScheduled)
88 return;
89 m_d->clickedoutsideScheduled = false;
91}
virtual void userClickedOnBgd()

◆ activeState()

IVP1System::ActiveState IVP1System::activeState ( ) const
inherited

Definition at line 135 of file IVP1System.cxx.

136{
137 return m_d->activeState;
138}

◆ allowUpdateGUI()

void IVP1System::allowUpdateGUI ( )
privateinherited

Definition at line 256 of file IVP1System.cxx.

257{
258 m_d->allowupdategui=true;
259}

◆ appropriateMDTProjectionsChanged

void VP1PrepRawDataSystem::appropriateMDTProjectionsChanged ( int iproj)
slot

Definition at line 557 of file VP1PrepRawDataSystem.cxx.

558{
559 if (m_d->appropriatemdtprojection==iproj)
560 return;
561 m_d->appropriatemdtprojection = iproj;
562 if (!m_d->controller)
563 return;//applied upon creation of collections instead
564 for (PRDCollHandle_MDT* mdtcol : m_d->controller->collWidget()->collections<PRDCollHandle_MDT>())
565 mdtcol->setAppropriateProjection( m_d->appropriatemdtprojection );
566
567}

◆ buildController()

QWidget * VP1PrepRawDataSystem::buildController ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 469 of file VP1PrepRawDataSystem.cxx.

470{
471 messageVerbose("buildController");
472 m_d->controller = new PRDSystemController(this);
473
474 messageVerbose("Passing ID projection settings on to collWidget");
475
476 connect(m_d->controller,SIGNAL(selectionModeMultipleChanged(bool)),this,SLOT(selectionModeChanged()));
477 connect(m_d->controller,SIGNAL(showSelectionLineChanged(bool)),this,SLOT(selectionVisualsChanged()));
478 connect(m_d->controller,SIGNAL(clearSelection()),this,SLOT(clearSelection()));
479
480 connect(m_d->controller,SIGNAL(inDetPartsUsingProjectionsChanged(InDetProjFlags::DetTypeFlags)),
481 this,SLOT(emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)));
482 InDetProjFlags::DetTypeFlags f = m_d->controller->inDetPartsUsingProjections();
483 if ( f != InDetProjFlags::NoDet)
484 emitUsedIDProjectionsChanged(f);//Fixme: Check that this is actually sufficiently late for the guideline sys!!!
485
486 return m_d->controller;
487}
void messageVerbose(const QString &) const
void emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)

◆ buildEventSceneGraph()

void VP1PrepRawDataSystem::buildEventSceneGraph ( StoreGateSvc * sg,
SoSeparator * root )
virtual

Implements IVP13DSystemSimple.

Definition at line 280 of file VP1PrepRawDataSystem.cxx.

281{
282 messageVerbose("buildEventSceneGraph");
283
284 // set complexity to a lower value, so that e.g. the straws are manageable
285 SoComplexity * complexity = new SoComplexity;
286 complexity->value.setValue(0.3f);//Fixme: Hardcoded here and elsewhere
287 root->addChild(complexity);
288
289 // //Point sizes and line widths:
290 // root->addChild(m_d->controller->prdDrawStyle());
291
292 //Create collection list based on contents of event store, inform
293 //about projections, populate gui and apply states:
294 QList<PRDCollHandleBase*> cols = m_d->createCollections();
295
296 //Inform about appropriate projects:
297 for (PRDCollHandleBase* col : cols) {
298
299 connect(col,SIGNAL(detailLevelChanged()),this,SLOT(updateSelectionVisualsAndPossiblyEmitPRDList()));
300
301 PRDCollHandle_MDT* mdtcol = dynamic_cast<PRDCollHandle_MDT*>(col);
302 if (mdtcol) {
303 mdtcol->setAppropriateProjection( m_d->appropriatemdtprojection );
304 continue;
305 }
306
307 PRDCollHandle_TRT* trtcol = dynamic_cast<PRDCollHandle_TRT*>(col);
308 if (trtcol) {
309 trtcol->setAppropriateProjection(m_d->idprojflags_trt);//NB: Add for pixel/sct as well once supported!
310 continue;
311 }
312
313 }
314
315 m_d->controller->collWidget()->setCollections(cols);
316
317
318 //Add collections to event scenegraph:
319 m_d->selNode_click = new SoCooperativeSelection;
320 m_d->selNode_click->ref();
321 m_d->selNode_highlight = new SoCooperativeSelection;
322 m_d->selNode_highlight->ref();
323 m_d->selNode_click->activePolicy = SoCooperativeSelection::ACTIVE;
324 m_d->selNode_highlight->activePolicy = SoCooperativeSelection::INERT;
325 m_d->selNode_click->policy = SoCooperativeSelection::SINGLE;
326 m_d->selNode_highlight->policy = SoCooperativeSelection::SINGLE;
327
328 for (VP1StdCollection* col : m_d->controller->collWidget()->collections<VP1StdCollection>())
329 m_d->selNode_click->addChild(col->collSwitch());
330 m_d->selNode_highlight->addChild(m_d->selNode_click);
331 root->addChild(m_d->selNode_highlight);
332
333 registerSelectionNode(m_d->selNode_click);
334 registerSelectionNode(m_d->selNode_highlight);
335
336 if (!m_d->multisel_sep) {
337 m_d->multisel_sep = new SoSeparator;
338 m_d->multisel_sep->ref();
339 SoPickStyle * ps = new SoPickStyle;
340 ps->style= SoPickStyle::UNPICKABLE;
341 m_d->multisel_sep->addChild(ps);
342 m_d->multisel_sep->addChild(m_d->controller->getMultiSelectionLineMaterial());
343 }
344 root->addChild(m_d->multisel_sep);
345
346
347 messageVerbose("buildEventSceneGraph done");
348
349}
void registerSelectionNode(SoCooperativeSelection *)
void setAppropriateProjection(InDetProjFlags::InDetProjPartsFlags)

◆ buildExtraDisplayWidget()

virtual QWidget * IVP13DSystem::buildExtraDisplayWidget ( )
inlinevirtualinherited

Definition at line 106 of file IVP13DSystem.h.

106{ return 0; }

◆ buildPermanentSceneGraph()

void VP1PrepRawDataSystem::buildPermanentSceneGraph ( StoreGateSvc * detstore,
SoSeparator * root )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 274 of file VP1PrepRawDataSystem.cxx.

275{
276 messageVerbose("buildPermanentSceneGraph (does not do anything)");
277}

◆ channel()

IVP1ChannelWidget * IVP1System::channel ( ) const
privateinherited

Definition at line 275 of file IVP1System.cxx.

276{
277 if (VP1Msg::verbose()&&!m_d->channel){
278 messageVerbose("WARNING channel() returning NULL");
279 }
280 assert(m_d->channel);
281 return m_d->channel;
282}
static bool verbose()
Definition VP1Msg.h:31

◆ clearSelection

void VP1PrepRawDataSystem::clearSelection ( )
privateslot

Definition at line 369 of file VP1PrepRawDataSystem.cxx.

370{
371 messageVerbose("clearSelection");
372 deselectAll();
373}
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)

◆ contact_info()

const QString & IVP1System::contact_info ( ) const
inherited

Definition at line 62 of file IVP1System.cxx.

63{
64 return m_d->contact_info;
65}

◆ controllerWidget()

QWidget * IVP1System::controllerWidget ( )
inherited

Definition at line 202 of file IVP1System.cxx.

202 {
203 if (VP1Msg::verbose()) {
204 messageVerbose("controllerWidget()");
205 messageVerbose("registerController m_d->state==ERASED = "+QString(m_d->state==ERASED?"true":"false"));
206 messageVerbose("registerController m_d->state==REFRESHED = "+QString(m_d->state==REFRESHED?"true":"false"));
207 }
208 assert(m_d->state==REFRESHED||m_d->state==ERASED);
209 return m_d->controller;
210 }

◆ create()

void IVP13DSystemSimple::create ( StoreGateSvc * detstore)
privatevirtualinherited

Implements IVP1System.

Definition at line 133 of file IVP13DSystemSimple.cxx.

134{
135 if(VP1Msg::verbose()){
136 messageVerbose("IVP13DSystemSimple create");
137 }
138 assert(!m_d->wasrefreshed);
139 assert(!m_d->wascreated);
140 ensureBuildController();//TODO: Move to refresh.
141 m_d->wascreated=true;
142 m_d->wasrefreshed=false;
143}

◆ deleteController()

void IVP1System::deleteController ( )
privateinherited

Definition at line 213 of file IVP1System.cxx.

214{
215 if (VP1Msg::verbose()){
216 messageVerbose("deleteController()");
217 }
218 if (m_d->controller)
219 m_d->controller->deleteLater();
220 m_d->controller = 0;
221}

◆ deselectAll()

void VP1PrepRawDataSystem::deselectAll ( SoCooperativeSelection * exception_sel = 0)
virtual

Reimplemented from IVP13DSystem.

Definition at line 353 of file VP1PrepRawDataSystem.cxx.

354{
355 if (exception_sel)
356 message("WARNING: The PRD system always deselects all registered nodes/");
358 m_d->currentlySelectedHandles.clear();
359 m_d->selectionChanged();
360}
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
void message(const QString &) const

◆ detectorStore()

StoreGateSvc * IVP1System::detectorStore ( ) const
inherited

Definition at line 318 of file IVP1System.cxx.

319{
321}
static StoreGateSvc * detectorStore()

◆ disallowUpdateGUI()

void IVP1System::disallowUpdateGUI ( )
privateinherited

Definition at line 250 of file IVP1System.cxx.

251{
252 m_d->allowupdategui=false;
253}

◆ emitTouchedMuonChambersChanged

void VP1PrepRawDataSystem::emitTouchedMuonChambersChanged ( const std::set< GeoPVConstLink > & s)
privateslot

Definition at line 543 of file VP1PrepRawDataSystem.cxx.

544{
545 messageVerbose("emits touchedMuonChambersChanged (ntouchedchambers="+QString::number(s.size())+")");
547}
void touchedMuonChambersChanged(const std::set< GeoPVConstLink > &)

◆ emitUsedIDProjectionsChanged

void VP1PrepRawDataSystem::emitUsedIDProjectionsChanged ( InDetProjFlags::DetTypeFlags f)
privateslot

Definition at line 550 of file VP1PrepRawDataSystem.cxx.

551{
552 messageVerbose("emits usedIDProjectionsChanged");
554}
void usedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)

◆ ensureBuildController()

void IVP13DSystemSimple::ensureBuildController ( )
inherited

Definition at line 90 of file IVP13DSystemSimple.cxx.

91{
92 if (m_d->controllerBuilt)
93 return;
94 m_d->controllerBuilt=true;
95 if(VP1Msg::verbose()){
96 messageVerbose("IVP13DSystemSimple build controller");
97 }
98 QWidget * controller = buildController();
99 if (controller)
100 registerController(controller);
101 if(VP1Msg::verbose()){
102 messageVerbose("IVP13DSystemSimple controller was = "+str(controller));
103 }
104}
virtual QWidget * buildController()
void registerController(QWidget *)
static QString str(const QString &s)
Definition VP1String.h:49

◆ erase()

void IVP13DSystemSimple::erase ( )
privatevirtualinherited

Implements IVP1System.

Definition at line 173 of file IVP13DSystemSimple.cxx.

174{
175 if(VP1Msg::verbose()){
176 messageVerbose("IVP13DSystemSimple::erase() start");
177 }
178 assert(m_d->wascreated);
179 assert(m_d->wasrefreshed);
180
181 bool saveE = m_d->rootE->enableNotify(false);
182
183 systemerase();
184 if(VP1Msg::verbose()){
185 messageVerbose("IVP13DSystemSimple::erase() Removing all event objects from scene");
187 }
188 m_d->rootE->removeAllChildren();
189
190 if (saveE) {
191 m_d->rootE->enableNotify(true);
192 m_d->rootE->touch();
193 }
194
195 m_d->wasrefreshed=false;
196 if(VP1Msg::verbose()){
197 messageVerbose("IVP13DSystemSimple::erase() end");
198 }
199}
void warnOnDisabledNotifications() const

◆ eventStore()

StoreGateSvc * IVP1System::eventStore ( ) const
inherited

Definition at line 312 of file IVP1System.cxx.

313{
315}
static StoreGateSvc * eventStore()

◆ getCameraList()

std::set< SoCamera * > IVP13DSystem::getCameraList ( )
inherited

Definition at line 395 of file IVP13DSystem.cxx.

396{
397 std::set<SoCamera*> cameralist = m_d->staticcameras;
398 std::set<SoQtViewer*>::const_iterator it, itE=m_d->viewers.end();
399 for (it=m_d->viewers.begin();it!=itE;++it) {
400 SoCamera*cam = (*it)->getCamera();
401 if (cam)
402 cameralist.insert(cam);
403 }
404
405 //m_d->camerasfromviewer
406 return cameralist;
407}

◆ getSceneGraph()

SoSeparator * IVP13DSystemSimple::getSceneGraph ( ) const
privatevirtualinherited

Implements IVP13DSystem.

Definition at line 127 of file IVP13DSystemSimple.cxx.

128{
129 return static_cast<SoSeparator*>(m_d->root);
130}

◆ inactiveSystemTurnedActive

void IVP1System::inactiveSystemTurnedActive ( )
signalinherited

◆ information()

const QString & IVP1System::information ( ) const
inherited

Definition at line 56 of file IVP1System.cxx.

57{
58 return m_d->information;
59}

◆ isRefreshing()

bool IVP1System::isRefreshing ( )
privateinherited

Definition at line 108 of file IVP1System.cxx.

109{
110 return m_d->refreshing;
111}

◆ itemFromSystemSelected

void IVP13DSystem::itemFromSystemSelected ( )
signalinherited

◆ message() [1/3]

void IVP1System::message ( const QString & str) const
inherited

Definition at line 336 of file IVP1System.cxx.

337{
338 if (receivers(SIGNAL(sysmessage(QString))) > 0){
340 }
341 else{
342 std::cout<<VP1Msg::prefix_msg()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
343 }
344}
void sysmessage(QString) const
static const char * prefix_msg()
Definition VP1Msg.h:56

◆ message() [2/3]

void IVP1System::message ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 400 of file IVP1System.cxx.

401{
402 if (addtostart.isEmpty()) {
403 message(l,addtoend);
404 return;
405 }
406 if (addtoend.isEmpty()) {
407 for (const QString& s : l)
408 message(addtostart+s);
409 } else {
410 for (const QString& s : l)
411 message(addtostart+s+addtoend);
412 }
413}

◆ message() [3/3]

void IVP1System::message ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 362 of file IVP1System.cxx.

363{
364 if (addtoend.isEmpty()) {
365 for (const QString& s : l)
366 message(s);
367 } else {
368 for (const QString& s : l)
369 message(s+addtoend);
370 }
371}

◆ messageDebug() [1/3]

void IVP1System::messageDebug ( const QString & str) const
inherited

Definition at line 347 of file IVP1System.cxx.

348{
349 if (VP1Msg::debug())
350 std::cout<<VP1Msg::prefix_debug()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
351}
static bool debug()
Definition VP1Msg.h:32
static const char * prefix_debug()
Definition VP1Msg.h:57

◆ messageDebug() [2/3]

void IVP1System::messageDebug ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 416 of file IVP1System.cxx.

417{
418 if (addtostart.isEmpty()) {
419 messageDebug(l,addtoend);
420 return;
421 }
422 if (addtoend.isEmpty()) {
423 for (const QString& s : l)
424 messageDebug(addtostart+s);
425 } else {
426 for (const QString& s : l)
427 messageDebug(addtostart+s+addtoend);
428 }
429}
void messageDebug(const QString &) const

◆ messageDebug() [3/3]

void IVP1System::messageDebug ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 374 of file IVP1System.cxx.

375{
376 if (addtoend.isEmpty()) {
377 for (const QString& s : l)
378 messageDebug(s);
379 } else {
380 for (const QString& s : l)
381 messageDebug(s+addtoend);
382 }
383}

◆ messageVerbose() [1/3]

void IVP1System::messageVerbose ( const QString & str) const
inherited

Definition at line 354 of file IVP1System.cxx.

355{
356 if (VP1Msg::verbose())
357 std::cout<<VP1Msg::prefix_verbose()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
358}
static const char * prefix_verbose()
Definition VP1Msg.h:59

◆ messageVerbose() [2/3]

void IVP1System::messageVerbose ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 432 of file IVP1System.cxx.

433{
434 if (!VP1Msg::verbose())
435 return;
436 if (addtostart.isEmpty()) {
437 messageVerbose(l,addtoend);
438 return;
439 }
440 if (addtoend.isEmpty()) {
441 for (const QString& s : l)
442 messageVerbose(addtostart+s);
443 } else {
444 for (const QString& s : l)
445 messageVerbose(addtostart+s+addtoend);
446 }
447}

◆ messageVerbose() [3/3]

void IVP1System::messageVerbose ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 386 of file IVP1System.cxx.

387{
388 if (!VP1Msg::verbose())
389 return;
390 if (addtoend.isEmpty()) {
391 for (const QString& s : l)
393 } else {
394 for (const QString& s : l)
395 messageVerbose(s+addtoend);
396 }
397}

◆ muonChambersWithTracksChanged

void VP1PrepRawDataSystem::muonChambersWithTracksChanged ( const std::set< GeoPVConstLink > & chambers)
slot

Definition at line 595 of file VP1PrepRawDataSystem.cxx.

596{
597 messageVerbose("muonChambersWithTracksChanged : received "+str(chambers.size())+" chambers.");
598
599 // //Update map of touched chamber lists:
600 // bool listChanged(m_d->sender2ChamberList.find(sender())!=m_d->sender2ChamberList.end()?
601 // (chambers != m_d->sender2ChamberList[sender()]):true);
602 // m_d->sender2ChamberList[sender()] = chambers;
603
604 //Trigger update if list changed and in auto mode:
605 // if ( listChanged && m_d->controller->limitToActiveChambers() )
606 // message("Limittoactivechambers - not yet implemented");
607 m_d->ensureInitCommonData();
608 if (m_d->common && m_d->common->touchedMuonChamberHelper())
609 m_d->common->touchedMuonChamberHelper()->updateTouchedByTracks(chambers);
610 else
611 message("muonChambersWithTracksChanged - helpers not yet created!");
612}

◆ name()

const QString & IVP1System::name ( ) const
inherited

Definition at line 50 of file IVP1System.cxx.

51{
52 return m_d->name;
53}

◆ needErase

void IVP1System::needErase ( )
signalinherited

◆ prdInMuonChamberSelected

void VP1PrepRawDataSystem::prdInMuonChamberSelected ( const GeoPVConstLink & chamberPV)
signal

◆ refresh()

void IVP13DSystemSimple::refresh ( StoreGateSvc * storegate)
privatevirtualinherited

Implements IVP1System.

Definition at line 146 of file IVP13DSystemSimple.cxx.

147{
148 assert(m_d->wascreated);
149 assert(!m_d->wasrefreshed);
150
151 if (m_d->first) {
152 if(VP1Msg::verbose()){
153 messageVerbose("IVP13DSystemSimple first refresh - so calling create methods (i.e. delayed create).");
154 }
156 m_d->first = false;
157 m_d->root->removeChild(m_d->rootR);
159 m_d->root->addChild(m_d->rootR);
160 }
161
162 m_d->root->removeChild(m_d->rootE);
163 updateGUI();
164 buildEventSceneGraph(sg, m_d->rootE);
165 updateGUI();
166 m_d->root->addChild(m_d->rootE);
167
168 m_d->wasrefreshed=true;
169
170}
virtual void systemcreate(StoreGateSvc *detstore)
virtual void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
virtual void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)=0
StoreGateSvc * detectorStore() const

◆ registerCamera()

void IVP13DSystem::registerCamera ( SoCamera * camera)
inherited

Definition at line 410 of file IVP13DSystem.cxx.

410 {
411 if (!cam)
412 return;
413 m_d->staticcameras.insert(cam);
414 cam->ref();
415}

◆ registerController()

void IVP1System::registerController ( QWidget * w)
protectedinherited

Definition at line 224 of file IVP1System.cxx.

225{
226 if (VP1Msg::verbose()) {
227 messageVerbose("registerController ");
228 messageVerbose("registerController m_d->canregistercontroller = "+QString(m_d->canregistercontroller?"true":"false"));
229 messageVerbose("registerController m_d->state==CONSTRUCTED = "+QString(m_d->state==CONSTRUCTED?"true":"false"));
230 messageVerbose("registerController m_d->controller==0 = "+QString(m_d->controller==0?"true":"false"));
231 messageVerbose("registerController w!=0 = "+QString(w!=0?"true":"false"));
232 }
233 if (!m_d->canregistercontroller)
234 message("ERROR: Please don't register controllers after create().");
235 if (m_d->state!=CONSTRUCTED)
236 message("ERROR: Please only register controllers in CONSTRUCTED state.");
237 if (!w) {
238 message("ERROR: Attempt to register null controller.");
239 return;
240 }
241 if (m_d->controller) {
242 message("ERROR: Attempt to register controller twice.");
243 return;
244 }
245 m_d->controller = w;
246 w->setParent(0);
247}

◆ registerSelectionNode()

void IVP13DSystem::registerSelectionNode ( SoCooperativeSelection * selection)
inherited

Definition at line 257 of file IVP13DSystem.cxx.

258{
259 if (!selection) {
260 message("registerSelectionNode Error: NULL selection pointer!");
261 return;
262 }
264 message("registerSelectionNode Error: Trying to register selection node more than once!");
265 return;
266 }
267
268 selection->addSelectionCallback( Imp::made_selection, selection );
269 selection->addDeselectionCallback( Imp::made_deselection, selection );
270 selection->addStartCallback( Imp::start_changeselection, this );
271 selection->addFinishCallback( Imp::finished_changeselection, this );
272 selection->addClickOutsideCallback( Imp::clickedoutside, this );
273
275 selection->ref();
276
277 messageVerbose("selection node registered");
278}
static void clickedoutside(void *userdata, SoCooperativeSelection *sel)
static void start_changeselection(void *userdata, SoSelection *sel)
static void made_selection(void *userdata, SoPath *path)
static void finished_changeselection(void *userdata, SoSelection *sel)
static std::map< SoCooperativeSelection *, IVP13DSystem * > selection2system
static void made_deselection(void *userdata, SoPath *path)
const std::string selection
std::string find(const std::string &s)
return a remapped string
Definition hcg.cxx:138

◆ registerViewer()

void IVP13DSystem::registerViewer ( SoQtViewer * viewer)
inherited

Definition at line 418 of file IVP13DSystem.cxx.

419{
420 if (!viewer)
421 return;
422 m_d->viewers.insert(viewer);
423}

◆ restoreFromState()

void VP1PrepRawDataSystem::restoreFromState ( QByteArray ba)
virtual

Reimplemented from IVP1System.

Definition at line 505 of file VP1PrepRawDataSystem.cxx.

505 {
506 //Version & base state:
507 VP1Deserialise state(ba,this);
508 if (state.version()!=0) {
509 message("Warning: State data in .vp1 file is in wrong format - ignoring!");
510 return;
511 }
513
515
516 m_d->controller->restoreSettings(state.restoreByteArray());
517 state.restore(m_d->controller->collWidget());//We do the testing in the controller
518
519 state.disableUnrestoredChecks();//We do the testing in the controller
520}
virtual void restoreFromState(QByteArray)
State state() const

◆ saveState()

QByteArray VP1PrepRawDataSystem::saveState ( )
virtual

Reimplemented from IVP1System.

Definition at line 490 of file VP1PrepRawDataSystem.cxx.

490 {
491
492 VP1Serialise serialise(0/*version*/,this);
494
496
497 serialise.save(m_d->controller->saveSettings());
498 serialise.save(m_d->controller->collWidget());
499
500 serialise.disableUnsavedChecks();//We do the testing in the controller
501 return serialise.result();
502}
virtual QByteArray saveState()
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors

◆ selectedPRDsChanged

void VP1PrepRawDataSystem::selectedPRDsChanged ( const QList< const Trk::PrepRawData * > & )
signal

◆ selectionModeChanged

void VP1PrepRawDataSystem::selectionModeChanged ( )
privateslot

Definition at line 376 of file VP1PrepRawDataSystem.cxx.

377{
378 messageVerbose("selectionModeChanged");
379 deselectAll();
380}

◆ selectionVisualsChanged

void VP1PrepRawDataSystem::selectionVisualsChanged ( )
privateslot

Definition at line 363 of file VP1PrepRawDataSystem.cxx.

364{
365 m_d->selectionChanged();
366}

◆ serviceLocator()

ISvcLocator * IVP1System::serviceLocator ( ) const
inherited

Definition at line 324 of file IVP1System.cxx.

325{
327}
static ISvcLocator * serviceLocator()

◆ setActiveState()

void IVP1System::setActiveState ( const ActiveState & s,
const bool & donttriggererase = true )
privateinherited

Definition at line 162 of file IVP1System.cxx.

163{
164 //First handle case where we dont actually change state. Only
165 //special consideration is OFF->OFF where we have to do something if
166 //we need to erase:
167 if (m_d->activeState==OFF&&s==OFF&&(m_d->state==REFRESHED||m_d->refreshing)&&!donttriggererase) {
168 needErase();
169 m_d->channel->emitRefreshInfoChanged();
170 return;
171 } else if (m_d->activeState==s) {
172 m_d->channel->emitRefreshInfoChanged();
173 return;
174 }
175
176 //Ok, we know that we are either ON->OFF or OFF->ON.
177 m_d->activeState = s;
178
179 if (s==ON) {
180 //OFF->ON: We might need a refresh, so send out a signal for the scheduler:
182 } else {
183 //ON->OFF: We might need an erase signal:
184 if ((m_d->state==REFRESHED||m_d->refreshing)&&!donttriggererase) {
185 needErase();
186 }
187 }
188 m_d->channel->emitRefreshInfoChanged();
189}
void inactiveSystemTurnedActive()
void needErase()

◆ setApplicableIDProjections

void VP1PrepRawDataSystem::setApplicableIDProjections ( InDetProjFlags::InDetProjPartsFlags pixel,
InDetProjFlags::InDetProjPartsFlags sct,
InDetProjFlags::InDetProjPartsFlags trt )
slot

Definition at line 570 of file VP1PrepRawDataSystem.cxx.

573{
574 messageVerbose("Signal received in setApplicableProjections (from "
575 +QString(sender()?sender()->objectName():"NULL sender")+")");
576 if (m_d->idprojflags_pixel==pixel&&m_d->idprojflags_sct==sct&&m_d->idprojflags_trt==trt) {
577 return;
578 }
579
580 m_d->idprojflags_pixel = pixel;
581 m_d->idprojflags_trt = trt;
582 m_d->idprojflags_sct = sct;
583
584 if (!m_d->controller)
585 return;//applied upon creation of collections instead
586
587 for (PRDCollHandle_TRT* trtcol : m_d->controller->collWidget()->collections<PRDCollHandle_TRT>())
588 trtcol->setAppropriateProjection(m_d->idprojflags_trt);
589
590 //NB: Add for pixel/sct as well once supported!
591
592}

◆ setCanRegisterController()

void IVP1System::setCanRegisterController ( const bool & c)
privateinherited

Definition at line 285 of file IVP1System.cxx.

286{
287 if (VP1Msg::verbose()){
288 messageVerbose("setCanRegisterController called with"+QString(c?"true":"false"));
289 }
290 m_d->canregistercontroller=c;
291}

◆ setChannel()

void IVP1System::setChannel ( IVP1ChannelWidget * cw)
privateinherited

Definition at line 94 of file IVP1System.cxx.

95{
96 if (VP1Msg::verbose()) {
97 messageVerbose("setChannel ");
98 messageVerbose("setChannel m_d->state==CONSTRUCTED = "+QString(m_d->state==CONSTRUCTED?"true":"false"));
99 messageVerbose("setChannel cw!=0 = "+QString(cw!=0?"true":"false"));
100 }
101 assert(!m_d->channel);
102 assert(cw);
103 assert(m_d->state==CONSTRUCTED);
104 m_d->channel = cw;
105}

◆ setRefreshing()

void IVP1System::setRefreshing ( const bool & b)
privateinherited

Definition at line 114 of file IVP1System.cxx.

115{
116 if (VP1Msg::verbose()){
117 messageVerbose("setRefreshing() called with b="+QString(b?"true":"false"));
118 }
119 if (b) {
120 assert(m_d->state==ERASED);
121 } else {
122 assert(m_d->state==REFRESHED);
123 }
124 m_d->refreshing = b;
125}

◆ setState()

void IVP1System::setState ( const State & s)
privateinherited

Definition at line 141 of file IVP1System.cxx.

142{
143#ifndef NDEBUG
144 assert (m_d->state != s);
145 assert(s!=CONSTRUCTED);
146 if (s==REFRESHED) {
147 assert(m_d->state==ERASED);
148 }
149 if (s==ERASED) {
150 assert(m_d->state==REFRESHED||m_d->state==CONSTRUCTED);
151 }
152 if (s==UNCREATED) {
153 assert(m_d->state==ERASED);
154 }
155#endif
156 m_d->state = s;
157 if (s==REFRESHED||s==ERASED)
158 m_d->channel->emitRefreshInfoChanged();
159}

◆ setUserSelectionNotificationsEnabled()

void IVP13DSystem::setUserSelectionNotificationsEnabled ( SoCooperativeSelection * sel,
bool enabled )
inherited

Definition at line 310 of file IVP13DSystem.cxx.

311{
312 if (!selection) {
313 message("setUserSelectionNotificationsEnabled Error: NULL selection pointer!");
314 return;
315 }
317 message("setUserSelectionNotificationsEnabled Error: Called for selection which was never registered!");
318 return;
319 }
320 if (enabled != m_d->selectionsWithDisabledNotifications.contains(selection))
321 return;
322
323 if (enabled)
324 m_d->selectionsWithDisabledNotifications.remove(selection);
325 else
326 m_d->selectionsWithDisabledNotifications << selection;
327
328}

◆ state()

IVP1System::State IVP1System::state ( ) const
inherited

Definition at line 129 of file IVP1System.cxx.

130{
131 return m_d->state;
132}

◆ storeGate()

StoreGateSvc * IVP1System::storeGate ( ) const
inlineinherited

Definition at line 119 of file IVP1System.h.

119{ return eventStore(); }//OBSOLETE NAME. Use eventStore() instead.
StoreGateSvc * eventStore() const

◆ str() [1/30]

QString VP1String::str ( const Amg::Vector3D & t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [2/30]

QString VP1String::str ( const bool b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53{ return b?"True":"False"; }

◆ str() [3/30]

QString VP1String::str ( const char * c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50{ return c; }

◆ str() [4/30]

QString VP1String::str ( const double & d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81{ return QString::number(d); }

◆ str() [5/30]

QString VP1String::str ( const float & f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82{ return QString::number(f); }

◆ str() [6/30]

template<class T>
QString VP1String::str ( const HepGeom::BasicVector3D< T > & t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor & c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31{
32 return c.isValid() ? c.name() : "Invalid";
33}

◆ str() [8/30]

template<class T>
QString VP1String::str ( const QFlags< T > & f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91{ return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T>
QString VP1String::str ( const QList< T > & t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102{ return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

QString VP1String::str ( const QString & s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49{ return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor & c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37{
39}
static QColor sbcol2qcol(const SbColor &)

◆ str() [12/30]

QString VP1String::str ( const SbVec2d & v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61{ double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }
#define y
#define x

◆ str() [13/30]

QString VP1String::str ( const SbVec2f & v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62{ float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s & v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63{ short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d & v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64{ double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }
#define z

◆ str() [16/30]

QString VP1String::str ( const SbVec3f & v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65{ float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s & v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66{ short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d & v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67{ double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f & v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68{ float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T>
QString VP1String::str ( const T * t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87{ return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void * p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49{
50 if (p) {
51 std::ostringstream s;
52 s << p;
53 // Explicitly naming QString here avoids a cppcheck warning.
54 return QString (s.str().c_str());
55 } else {
56 return "NULL";
57 }
58}

◆ str() [22/30]

QString VP1String::str ( const VP1Interval & i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43{
44 return i.toString();
45}

◆ str() [23/30]

QString VP1String::str ( int n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77{ return QString::number(n); }

◆ str() [24/30]

QString VP1String::str ( long n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75{ return QString::number(n); }

◆ str() [25/30]

QString VP1String::str ( qlonglong n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79{ return QString::number(n); }

◆ str() [26/30]

QString VP1String::str ( qulonglong n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80{ return QString::number(n); }

◆ str() [27/30]

QString VP1String::str ( short int n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73{ return QString::number(n); }

◆ str() [28/30]

QString VP1String::str ( uint n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78{ return QString::number(n); }

◆ str() [29/30]

QString VP1String::str ( ulong n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76{ return QString::number(n); }

◆ str() [30/30]

QString VP1String::str ( unsigned short int n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74{ return QString::number(n); }

◆ sysmessage

void IVP1System::sysmessage ( QString ) const
signalinherited

◆ systemcreate()

void VP1PrepRawDataSystem::systemcreate ( StoreGateSvc * detstore)
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 229 of file VP1PrepRawDataSystem.cxx.

230{
231 messageVerbose("systemcreate");
233 message("Error: Can't retrieve MuonDetectorManager. Expect reduced performance and functionality.");//Fixme: Only if any muon collections are present!
234 m_d->ensureInitCommonData();
235}
static const MuonGM::MuonDetectorManager * muonDetMgr()
static bool hasMuonGeometry()

◆ systemerase()

void VP1PrepRawDataSystem::systemerase ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 250 of file VP1PrepRawDataSystem.cxx.

251{
252 messageVerbose("systemerase");
253
254 deselectAll();
255
256 m_d->common->controller()->collWidget()->clear();
257
258 m_d->common->clearEventData();
259
260 if (m_d->selNode_click) {
261 unregisterSelectionNode(m_d->selNode_click);
262 unregisterSelectionNode(m_d->selNode_highlight);
263 m_d->selNode_click->unref();
264 m_d->selNode_click=0;
265 m_d->selNode_highlight->unref();
266 m_d->selNode_highlight=0;
267 }
268
269 m_d->clearMultiSelLine();
270
271}
void unregisterSelectionNode(SoCooperativeSelection *)

◆ systemuncreate()

void VP1PrepRawDataSystem::systemuncreate ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 238 of file VP1PrepRawDataSystem.cxx.

239{
240 if (m_d->multisel_sep) {
241 m_d->multisel_sep->unref();
242 m_d->multisel_sep=0;
243 }
244
245 delete m_d->common; m_d->common = 0;
246 m_d->controller = 0;
247}

◆ toolSvc()

IToolSvc * IVP1System::toolSvc ( ) const
inherited

Definition at line 330 of file IVP1System.cxx.

331{
332 return VP1AthenaPtrs::toolSvc();
333}
static IToolSvc * toolSvc()

◆ touchedMuonChambersChanged

void VP1PrepRawDataSystem::touchedMuonChambersChanged ( const std::set< GeoPVConstLink > & )
signal

◆ uncreate()

void IVP13DSystemSimple::uncreate ( )
privatevirtualinherited

Reimplemented from IVP1System.

Definition at line 202 of file IVP13DSystemSimple.cxx.

203{
204
205 if(VP1Msg::verbose()){
206 messageDebug("uncreate()...");
207 }
208
209 assert(m_d->wascreated);
210 assert(!m_d->wasrefreshed);
211 m_d->rootE->enableNotify(false);
212 m_d->rootR->enableNotify(false);
214 m_d->root->removeAllChildren();
215 m_d->rootE->removeAllChildren();
216 m_d->rootR->removeAllChildren();
217 m_d->wascreated=false;
218}
virtual void systemuncreate()

◆ unregisterSelectionNode()

void IVP13DSystem::unregisterSelectionNode ( SoCooperativeSelection * selection)
inherited

Definition at line 281 of file IVP13DSystem.cxx.

282{
283 if (!selection) {
284 message("unregisterSelectionNode Error: NULL selection pointer!");
285 return;
286 }
288 message("registerSelectionNode Error: Trying to unregister unknown selection node!");
289 return;
290 }
291
292 selection->removeSelectionCallback( Imp::made_selection, selection );
293 selection->removeDeselectionCallback( Imp::made_deselection, selection );
294 selection->removeStartCallback( Imp::start_changeselection, this );
295 selection->removeFinishCallback( Imp::finished_changeselection, this );
296 selection->removeClickOutsideCallback( Imp::clickedoutside, this );
297
299 if (m_d->selectionsWithDisabledNotifications.contains(selection))
300 m_d->selectionsWithDisabledNotifications.remove(selection);
301 selection->unref();
302
303 messageVerbose("selection node unregistered");
304
305}

◆ updateGUI()

void IVP13DSystemSimple::updateGUI ( )
inlineinherited

Definition at line 89 of file IVP13DSystemSimple.h.

◆ updateSelectionVisualsAndPossiblyEmitPRDList

void VP1PrepRawDataSystem::updateSelectionVisualsAndPossiblyEmitPRDList ( )
privateslot

Definition at line 383 of file VP1PrepRawDataSystem.cxx.

384{
385 messageVerbose("updateSelectionVisualsAndPossiblyEmitPRDList");
386 m_d->selectionChanged();
387}

◆ usedIDProjectionsChanged

void VP1PrepRawDataSystem::usedIDProjectionsChanged ( InDetProjFlags::DetTypeFlags )
signal

◆ userChangedSelection()

void VP1PrepRawDataSystem::userChangedSelection ( SoCooperativeSelection * sel,
const QSet< SoNode * > & ,
QSet< SoPath * >  )
virtual

Reimplemented from IVP13DSystem.

Definition at line 450 of file VP1PrepRawDataSystem.cxx.

451{
452 if (m_d->selNode_highlight==sel)
453 return;
454 messageVerbose("userChangedSelection");
455}

◆ userClickedOnBgd()

void VP1PrepRawDataSystem::userClickedOnBgd ( )
virtual

Reimplemented from IVP13DSystem.

Definition at line 458 of file VP1PrepRawDataSystem.cxx.

459{
460 messageVerbose("userClickedOnBgd");
461 if (!m_d->controller->selectionModeMultiple()) {
462 m_d->currentlySelectedHandles.clear();
463 m_d->selectionChanged();
464 }
465}

◆ userDeselectedSingleNode()

void VP1PrepRawDataSystem::userDeselectedSingleNode ( SoCooperativeSelection * sel,
SoNode * ,
SoPath *  )
virtual

Reimplemented from IVP13DSystem.

Definition at line 442 of file VP1PrepRawDataSystem.cxx.

443{
444 if (m_d->selNode_highlight==sel)
445 return;
446 // messageVerbose("userDeselectedSingleNode");
447}

◆ userPickedNode()

void VP1PrepRawDataSystem::userPickedNode ( SoNode * pickedNode,
SoPath * pickedPath )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 390 of file VP1PrepRawDataSystem.cxx.

391{
392 messageVerbose("userPickedNode");
393}

◆ userSelectedSingleNode()

void VP1PrepRawDataSystem::userSelectedSingleNode ( SoCooperativeSelection * sel,
SoNode * ,
SoPath * pickedPath )
virtual

Reimplemented from IVP13DSystem.

Definition at line 396 of file VP1PrepRawDataSystem.cxx.

397{
398 if (m_d->selNode_highlight==sel)
399 return;
400 messageVerbose("userSelectedSingleNode");
401 PRDHandleBase * handle = m_d->common->pickedPathToHandle(pickedPath);//This also pops the path, so that all shape nodes
402 //making up the whole shape will be highlighted
403 sel->deselectAll();
404
405 if (!handle) {
406 deselectAll();
407 message("Error: Could not identify picked node");
408 return;
409 }
410
411 if (!m_d->controller->selectionModeMultiple()) {
412 if (m_d->currentlySelectedHandles.count()==1&&*(m_d->currentlySelectedHandles.begin())==handle)
413 return;
414 m_d->currentlySelectedHandles.clear();
415 m_d->currentlySelectedHandles<<handle;
416 if (handle->inMuonChamber()&&m_d->controller->muonOrientToChambersOnClick()) {
417 messageVerbose("emits prdInMuonChamberSelected");
419 } else if (m_d->controller->zoomOnClick()) {
420 std::set<SoCamera*> cameras(getCameraList());
421 std::set<SoCamera*>::iterator it,itE = cameras.end();
422 for (it=cameras.begin();it!=itE;++it)
423 VP1CameraHelper::animatedZoomToPath(*it,handle->collHandle()->collSep(),pickedPath,2.0,1.0);
424 }
425 if (m_d->controller->printInfoOnClick()) {
426 for (const QString& line : handle->clicked())
427 message(line);
428 }
429 } else {
430 if (m_d->currentlySelectedHandles.contains(handle)) {
431 m_d->currentlySelectedHandles.removeAll(handle);
432 } else {
433 m_d->currentlySelectedHandles << handle;
434 }
435 }
436
437 m_d->selectionChanged();
438
439}
CamList getCameraList()
virtual QStringList clicked() const
virtual bool inMuonChamber() const
PRDCollHandleBase * collHandle() const
virtual GeoPVConstLink parentMuonChamberPV() const
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)
void prdInMuonChamberSelected(const GeoPVConstLink &chamberPV)
SoSeparator * collSep() const
All 3D objects from this coll.

◆ verbose()

bool IVP1System::verbose ( )
inlinestaticinherited

Definition at line 86 of file IVP1System.h.

86{ return s_vp1verbose; }// Returns true if env var VP1_VERBOSE_OUTPUT=1
static const bool s_vp1verbose
Definition IVP1System.h:158

◆ visibleSegmentsChanged

void VP1PrepRawDataSystem::visibleSegmentsChanged ( const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > & segments)
slot

Definition at line 533 of file VP1PrepRawDataSystem.cxx.

534{
535 m_d->ensureInitCommonData();
536 if (!m_d->common)
537 return;//for signals received after uncreate
538 m_d->common->trackAndSegmentHelper()->visibleSegmentsChanged(segments);
540}

◆ visibleTracksChanged

void VP1PrepRawDataSystem::visibleTracksChanged ( const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > & tracks)
slot

Definition at line 523 of file VP1PrepRawDataSystem.cxx.

524{
525 m_d->ensureInitCommonData();
526 if (!m_d->common)
527 return;//for signals received after uncreate
528 m_d->common->trackAndSegmentHelper()->visibleTracksChanged(tracks);
530}

◆ warnOnDisabledNotifications()

void IVP13DSystemSimple::warnOnDisabledNotifications ( ) const
inherited

Definition at line 221 of file IVP13DSystemSimple.cxx.

222{
223 QList<SoNode*> nodesR;
224 QList<SoNode*> nodesE;
225 m_d->getNodesWithDisabledNotifications(m_d->rootR, nodesR);
226 m_d->getNodesWithDisabledNotifications(m_d->rootE, nodesE);
227 if (!nodesR.isEmpty()) {
228 message("WARNING: Found "+str(nodesR.count())+" node"+QString(nodesR.count()>1?"s":0)+" with disabled notifications in permanent scenegraph:");
229 for (SoNode * node : nodesR)
230 message(" => Node ("+str(node)+") of type "+QString(node->getTypeId().getName().getString())+", named "+QString(node->getName().getString()));
231 }
232 if (!nodesE.isEmpty()) {
233 message("WARNING: Found "+str(nodesE.count())+" node"+QString(nodesE.count()>1?"s":0)+" with disabled notifications in event scenegraph:");
234 for (SoNode * node : nodesE)
235 message(" => Node ("+str(node)+") of type "+QString(node->getTypeId().getName().getString())+", named "+QString(node->getName().getString()));
236 }
237}

Member Data Documentation

◆ m_d

Imp* VP1PrepRawDataSystem::m_d
private

Definition at line 76 of file VP1PrepRawDataSystem.h.

◆ s_vp1verbose

const bool IVP1System::s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
staticprivateinherited

Definition at line 158 of file IVP1System.h.


The documentation for this class was generated from the following files: