ATLAS Offline Software
Classes | Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
VP1TrackSystem Class Reference

#include <VP1TrackSystem.h>

Inheritance diagram for VP1TrackSystem:
Collaboration diagram for VP1TrackSystem:

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 setApplicableIDProjections (InDetProjFlags::InDetProjPartsFlags pixel, InDetProjFlags::InDetProjPartsFlags sct, InDetProjFlags::InDetProjPartsFlags trt)
 
void setSelectedPRDs (const QList< const Trk::PrepRawData * > &)
 
void updateAlignment ()
 Special mode to allow in VP1 alignment tests. More...
 
void tracksFromVertexChanged (QList< std::pair< const SoMaterial *, QList< const Trk::Track * > > > &)
 

Signals

void touchedMuonChambersChanged (const std::set< GeoPVConstLink > &)
 
void objectInMuonChamberSelected (const GeoPVConstLink &chamberPV)
 
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 usedIDProjectionsChanged (InDetProjFlags::DetTypeFlags)
 
void newTrackSelected (const TrackHandleBase &)
 
void muonChamberT0sChanged (const std::map< GeoPVConstLink, float > &, int)
 The map is the dt0 per chamber, plus a label identifier, which by convention (!) is 0=Moore, 1=Muonboy. More...
 
void itemFromSystemSelected ()
 
void sysmessage (QString) const
 
void inactiveSystemTurnedActive ()
 
void needErase ()
 

Public Member Functions

 VP1TrackSystem (const QString &name="Tracks")
 
virtual ~VP1TrackSystem ()
 
void systemcreate (StoreGateSvc *detstore)
 
void systemuncreate ()
 
QWidget * buildController ()
 
void buildEventSceneGraph (StoreGateSvc *sg, SoSeparator *root)
 
void systemerase ()
 
QByteArray saveState ()
 
void restoreFromState (QByteArray)
 
void userPickedNode (SoNode *pickedNode, SoPath *pickedPath)
 
void userSelectedSingleNode (SoCooperativeSelection *, SoNode *, SoPath *)
 
void userDeselectedSingleNode (SoCooperativeSelection *, SoNode *, SoPath *)
 
void userChangedSelection (SoCooperativeSelection *, QSet< SoNode * >, QSet< SoPath * >)
 
void userClickedOnBgd ()
 
SoCooperativeSelectionselTracks ()
 Needed in TrackSystemController::objectBrowserClicked(QTreeWidgetItem * item, int) More...
 
SoCooperativeSelectionselAscs ()
 Needed in TrackSystemController::objectBrowserClicked(QTreeWidgetItem * item, int) More...
 
SoMaterial * materialFromVertex (const TrackHandleBase *trk) const
 Returns the material for the vertex which knows this trackhandle (if known) More...
 
void ensureBuildController ()
 
virtual void buildPermanentSceneGraph (StoreGateSvc *detstore, SoSeparator *root)
 
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)
 
virtual void deselectAll (SoCooperativeSelection *exception_sel=0)
 
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 visibleObjectsChanged ()
 
void updateSelectionMode ()
 
void updateShownTotMomentum ()
 
void possiblyEmitUsedIDProjectionsChanged ()
 
void refit ()
 
void activateClickedOutside ()
 

Private Member Functions

void refitFromPRDs (const Trk::ITrackFitter *currentFitter, QList< const Trk::Track * > &fittedtracks)
 
void refitSingleTrack (const Trk::ITrackFitter *currentFitter, QList< const Trk::Track * > &fittedtracks)
 
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 36 of file VP1TrackSystem.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

◆ VP1TrackSystem()

VP1TrackSystem::VP1TrackSystem ( const QString &  name = "Tracks")

Definition at line 152 of file VP1TrackSystem.cxx.

154  "System showing all track-like objects.",
155  "Edward.Moyse@cern.ch, Thomas.Kittelmann@cern.ch"), m_d(new Imp)
156 {
157  m_d->theclass = this;
158  m_d->sel_tracks = nullptr;
159  m_d->common = nullptr;
160  m_d->totmomsep = nullptr;
161  m_d->totmomline = nullptr;
162  m_d->totmomgev = Amg::Vector3D(0,0,0);
163  m_d->ascObjSelManager = nullptr;
166  const unsigned n_chamber_t0_sources=2;
167  m_d->chamberT0s.resize(n_chamber_t0_sources);
168 }

◆ ~VP1TrackSystem()

VP1TrackSystem::~VP1TrackSystem ( )
virtual

Definition at line 171 of file VP1TrackSystem.cxx.

172 {
173  delete m_d;
174 }

Member Function Documentation

◆ activateClickedOutside

void IVP13DSystem::activateClickedOutside ( )
privateslotinherited

Definition at line 85 of file IVP13DSystem.cxx.

86 {
88  return;
91 }

◆ 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 }

◆ buildController()

QWidget * VP1TrackSystem::buildController ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 207 of file VP1TrackSystem.cxx.

208 {
209  messageVerbose("buildController start");
210  TrackSystemController * controller = new TrackSystemController(this);
211  m_d->common = new TrackSysCommonData(this,controller);//Fixme: Do this on-demand in buildeventscenegraph!!
212  controller->setCommonData(m_d->common);
213 
214  connect(controller,SIGNAL(selectionModeChanged(TrackCommonFlags::SELECTIONMODE)),this,SLOT(updateSelectionMode()));
216  connect(controller,SIGNAL(showTotMomentumOnMultiTrackSelectionChanged(bool)),this,SLOT(updateShownTotMomentum()));
218 
219  connect(controller,SIGNAL(refit()),this,SLOT(refit()));//temp.
220 
221  controller->setNumberOfSelectedPRDsAndTracks(m_d->selectedPRDs.count(),0);
222 
223  messageVerbose("buildController end");
224  return controller;
225 }

◆ buildEventSceneGraph()

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

Implements IVP13DSystemSimple.

Definition at line 228 of file VP1TrackSystem.cxx.

229 {
230  messageVerbose("buildEventSceneGraph start2");
231 
232  // set complexity to a lower value, so that e.g. the straws are manageable
233  SoComplexity * complexity = new SoComplexity;
234  complexity->value.setValue(0.3f);//Fixme: Hardcoded here and elsewhere (fixme: Recheck all complexity values!)
235  root->addChild(complexity);
236  root->addChild(m_d->common->controller()->ascObjDrawStyle());
237  root->addChild(m_d->common->controller()->ascObjComplexity());//this will be inherited to the tracks
238  // (but giving no effect)
239 
242  m_d->sel_tracks->ref();
244  // m_d->sel_tracks->addChild(m_d->common->controller()->trackLightModel());
245  // m_d->sel_tracks->addChild(m_d->common->controller()->trackDrawStyle());
246 
248  m_d->common->setEventData(m_d->ascObjSelManager);//commondata assumes ownership of ascObjMgr.
250 
251 // reset last selected trk
252  m_d->common->setLastSelectedTrack(nullptr);
254 
255  if (!m_d->common->m_textSep) {
256  // FIXME!
257  // std::cout<<"Making new Text sep"<<std::endl;
258  m_d->common->m_textSep = new SoSeparator;
259  m_d->common->m_textSep->setName("TextSep");
260  m_d->common->m_textSep->ref();
261  }
262  root->addChild(m_d->common->m_textSep);
263 
264  // Fixme - what if font is missing?
265  SoFont *myFont = new SoFont;
266  myFont->name.setValue("Arial");
267  myFont->size.setValue(12.0);
268  m_d->common->m_textSep->addChild(myFont);
269 
270  messageVerbose("createCollections start");
271 
272  //Create collection list based on contents of event store, populate gui and apply states:
274 
275  //Add collections to event scenegraph:
277  m_d->sel_tracks->addChild(col->collSwitch());
278 
279  root->addChild(m_d->sel_tracks);
280  if (!m_d->totmomsep) {
281  m_d->totmomsep = new SoSeparator;
282  m_d->totmomsep->ref();
283  }
284  // m_d->totmomsep->addChild(m_d->common->controller()->trackDrawStyle());
285  root->addChild(m_d->totmomsep);
286 
287  //
288  // Loading T0 measurements of muon chambers
289  //
290  // This will loop over all the T0 measurements found for muon chambers.
291  // And it will store them into the 'm_d->chamberT0s' vector.
292  // TODO! But do we still need it here?? Allow this to be configured?
293  //
294  std::vector<std::string> key;
295  key.emplace_back("MooreMuonChamberT0s");
296  key.emplace_back("MboyMuonChamberT0s");
297  assert(m_d->chamberT0s.size()==key.size());
298 
299  for (unsigned int i=0; i<m_d->chamberT0s.size(); i++){
300  assert(i<key.size());
301  m_d->chamberT0s.at(i).clear();
302  const Muon::ChamberT0s* chamberT0s(nullptr);
303  const MuonGM::MuonDetectorManager * muonDetManager = VP1DetInfo::muonDetMgr();
304 
305  bool isThere = sg->contains<Muon::ChamberT0s>(key[i]);
306  if (isThere && sg->retrieve(chamberT0s, key[i]).isFailure())
307  message("Problems loading ChamberT0s!");
308  else
309  if (!isThere) messageVerbose("No " +QString(key[i].c_str())+ " in event");
310 
311  if (chamberT0s ){
312  messageVerbose("Found " +QString(key[i].c_str())+ " Chamber T0s");
313 
314  std::vector< std::pair< Identifier, float > >::const_iterator it, itEnd=chamberT0s->getAllT0s().end();
315  for (it=chamberT0s->getAllT0s().begin(); it!=itEnd; ++it){
316 
317  // chamber name
318  std::string stationName( muonDetManager->mdtIdHelper()->stationNameString (muonDetManager->mdtIdHelper()->stationName( it->first )) );
319  messageVerbose("station="+QString(stationName.c_str()));
320 
321 
322  if (muonDetManager->mdtIdHelper()->is_mdt(it->first)){
323  messageDebug("---> getting MDT T0s");
324 
325  std::string techStr( muonDetManager->mdtIdHelper()->technologyString(muonDetManager->mdtIdHelper()->technology(it->first)) );
326  //int stName = muonDetManager->mdtIdHelper()->stationName(it->first);
327  float stEta = muonDetManager->mdtIdHelper()->stationEta(it->first);
328  float stPhi = muonDetManager->mdtIdHelper()->stationPhi(it->first);
329  int ml = muonDetManager->mdtIdHelper()->multilayer(it->first);
330  //std::cout << "MDT chamber Info - Identifier: " << it->first << " - technology: " <<techStr << " - stName: " << stName << " - stEta: " << stEta << " - stPhi: " << stPhi << " - ml: " << ml << std::endl;
331  messageDebug( "MDT chamber Info - technology: " + QString::fromStdString(techStr) + " - stName: " + QString::fromStdString(stationName) + " - stEta: " + QString::number(stEta) + " - stPhi: " + QString::number(stPhi) + " - ml: " + QString::number(ml) );
332 
333  const MuonGM::MuonReadoutElement* muonDetEl = dynamic_cast<const MuonGM::MuonReadoutElement*>(muonDetManager->getMdtReadoutElement (it->first));
334  if (muonDetEl) m_d->chamberT0s[i][muonDetEl->parentStationPV()]=it->second;
335  }
336  else if (muonDetManager->cscIdHelper()->is_csc(it->first)){
337  messageDebug("---> getting CSC T0s");
338 
339  std::string techStr( muonDetManager->cscIdHelper()->technologyString(muonDetManager->cscIdHelper()->technology(it->first)) );
340  //int stName = muonDetManager->cscIdHelper()->stationName(it->first);
341  float stEta = muonDetManager->cscIdHelper()->stationEta(it->first);
342  float stPhi = muonDetManager->cscIdHelper()->stationPhi(it->first);
343  //std::cout << "CSC chamber Info - Identifier: " << it->first << " - technology: " <<techStr << " - stName: " << stationName << " - stEta: " << stEta << " - stPhi: " << stPhi << std::endl;
344  messageDebug( "MDT chamber Info - technology: " + QString::fromStdString(techStr) + " - stName: " + QString::fromStdString(stationName) + " - stEta: " + QString::number(stEta) + " - stPhi: " + QString::number(stPhi) );
345 
346  const MuonGM::CscReadoutElement* muonDetEl = dynamic_cast<const MuonGM::CscReadoutElement*>(muonDetManager->getCscReadoutElement (it->first));
347  if (muonDetEl) m_d->chamberT0s[i][muonDetEl->parentStationPV()]=it->second;
348  }
349  }
351  }
352  }
353 
354  messageVerbose("buildEventSceneGraph end");
355 }

◆ buildExtraDisplayWidget()

virtual QWidget* IVP13DSystem::buildExtraDisplayWidget ( )
inlinevirtualinherited

Definition at line 106 of file IVP13DSystem.h.

106 { return 0; }

◆ buildPermanentSceneGraph()

void IVP13DSystemSimple::buildPermanentSceneGraph ( StoreGateSvc detstore,
SoSeparator *  root 
)
virtualinherited

◆ 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 }

◆ 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 IVP13DSystem::deselectAll ( SoCooperativeSelection exception_sel = 0)
virtualinherited

Reimplemented in VP1PrepRawDataSystem.

Definition at line 331 of file IVP13DSystem.cxx.

332 {
334  for (it = Imp::selection2system.begin(); it!=itE;++it) {
335  if (it->second!=this)
336  continue;
337  if (it->first!=exception_sel) {
338  if (it->first->policy.getValue()!=SoCooperativeSelection::SINGLE) {
339  Imp::start_changeselection(this, it->first);
340  it->first->deselectAll();
341  Imp::finished_changeselection(this, it->first);
342  } else {
343  if (it->first->getList()->getLength()==1) {
344  Imp::start_changeselection(this, it->first);
345  SoPath * path = static_cast<SoPath*>(it->first->getList()->get(0));
346  Imp::made_deselection(it->first,path);
347  it->first->deselectAll();
348  Imp::finished_changeselection(this, it->first);
349  }
350  }
351  }
352  }
353 }

◆ detectorStore()

StoreGateSvc * IVP1System::detectorStore ( ) const
inherited

Definition at line 318 of file IVP1System.cxx.

319 {
321 }

◆ disallowUpdateGUI()

void IVP1System::disallowUpdateGUI ( )
privateinherited

Definition at line 250 of file IVP1System.cxx.

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

◆ emitTouchedMuonChambersChanged

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

Definition at line 450 of file VP1TrackSystem.cxx.

451 {
452  messageVerbose("Emitting touchedMuonChambersChanged (with ntouchedchambers = "+QString::number(s.size())+")" );
454 }

◆ 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 }

◆ 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 }

◆ eventStore()

StoreGateSvc * IVP1System::eventStore ( ) const
inherited

Definition at line 312 of file IVP1System.cxx.

313 {
314  return VP1AthenaPtrs::eventStore();
315 }

◆ 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

◆ materialFromVertex()

SoMaterial * VP1TrackSystem::materialFromVertex ( const TrackHandleBase trk) const

Returns the material for the vertex which knows this trackhandle (if known)

Definition at line 1013 of file VP1TrackSystem.cxx.

1013  {
1014 
1015  const TrackHandle_TrkTrack* handle = dynamic_cast<const TrackHandle_TrkTrack*>(trk);
1016  if (handle) {
1017  std::map<const Trk::Track*, SoMaterial*>::const_iterator it = m_d->vertexMaterialForTrackBases.find(handle->trkTrackPointer());
1018 
1019  if (it!=m_d->vertexMaterialForTrackBases.end()){
1020  return it->second;
1021  }
1022  }
1023  messageVerbose("VP1TrackSystem::materialFromVertex. No matching track handle for handle with pointer="+QString::number((uintptr_t)trk));
1024  return nullptr;
1025 }

◆ 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){
339  sysmessage(str);
340  }
341  else{
342  std::cout<<VP1Msg::prefix_msg()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
343  }
344 }

◆ 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 (QString s : l)
408  message(addtostart+s);
409  } else {
410  for (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 (QString s : l)
366  message(s);
367  } else {
368  for (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 }

◆ 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 (QString s : l)
424  messageDebug(addtostart+s);
425  } else {
426  for (QString s : l)
427  messageDebug(addtostart+s+addtoend);
428  }
429 }

◆ 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 (QString s : l)
378  messageDebug(s);
379  } else {
380  for (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 }

◆ 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 (QString s : l)
442  messageVerbose(addtostart+s);
443  } else {
444  for (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 (QString s : l)
392  messageVerbose(s);
393  } else {
394  for (QString s : l)
395  messageVerbose(s+addtoend);
396  }
397 }

◆ muonChamberT0sChanged

void VP1TrackSystem::muonChamberT0sChanged ( const std::map< GeoPVConstLink, float > &  ,
int   
)
signal

The map is the dt0 per chamber, plus a label identifier, which by convention (!) is 0=Moore, 1=Muonboy.

◆ 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

◆ newTrackSelected

void VP1TrackSystem::newTrackSelected ( const TrackHandleBase )
signal

◆ objectInMuonChamberSelected

void VP1TrackSystem::objectInMuonChamberSelected ( const GeoPVConstLink &  chamberPV)
signal

◆ possiblyEmitUsedIDProjectionsChanged

void VP1TrackSystem::possiblyEmitUsedIDProjectionsChanged ( )
privateslot

Definition at line 776 of file VP1TrackSystem.cxx.

777 {
778  InDetProjFlags::DetTypeFlags usedidprojs = m_d->currentUsedIDProjections();
779  if (m_d->lastEmittedUsedIDProjections == usedidprojs)
780  return;
781  m_d->lastEmittedUsedIDProjections = usedidprojs;
782  usedIDProjectionsChanged(usedidprojs);
783 }

◆ refit

void VP1TrackSystem::refit ( )
privateslot

Definition at line 794 of file VP1TrackSystem.cxx.

795 {
796  //FIXME: WE NEED A HELPER CLASS!!
797 
798  if (!m_d->common||!m_d->common->controller()||!m_d->sel_tracks)//To check that we are actually refreshed
799  return;
800  messageVerbose("Refit requested with mode="+TrackCommonFlags::toString(m_d->common->controller()->fitterMode()));
801  const Trk::ITrackFitter* currentFitter = m_d->common->controller()->trackFitter();
802  if (!currentFitter) {
803  message("ERROR - Aborting refit as no fitter available.");
804  return;
805  }
806 
807  QList<const Trk::Track*> fittedtracks;
808  switch (m_d->common->controller()->fitterMode()) {
809  case TrackCommonFlags::FROMPRDS: refitFromPRDs(currentFitter, fittedtracks);break;
810  case TrackCommonFlags::REFITSINGLETRACK: refitSingleTrack(currentFitter, fittedtracks);break;
811  case TrackCommonFlags::EXTENDTRACKWITHPRDS: message("Not yet implemented");break;
812  case TrackCommonFlags::COMBINETWOTRACKS: message("Not yet implemented");break;
813  }
814 
815  if (fittedtracks.empty()) return;
816 
817  TrackCollHandle_RefittedTracks * newtrackcoll =
820  fittedtracks);
821  newtrackcoll->init();
822 
823  QList<TrackCollHandleBase*> newcols;
824  newcols << newtrackcoll;
825 
826  m_d->common->controller()->collWidget()->addCollections(newcols);
827 
828  //Add new collections to event scenegraph and turn them on:
829  for (TrackCollHandleBase* col : newcols) {
830  m_d->sel_tracks->addChild(col->collSwitch());
831  col->setVisible(true);
832  }
833 }

◆ refitFromPRDs()

void VP1TrackSystem::refitFromPRDs ( const Trk::ITrackFitter currentFitter,
QList< const Trk::Track * > &  fittedtracks 
)
private
Parameters
currentFittercurrentFitter
fittedtracksfittedtracks

Definition at line 835 of file VP1TrackSystem.cxx.

836 {
837  // FIXME (or remove, since no one used this I think - EJWM)
838 
839  // std::vector<const Trk::PrepRawData*> prdSet;
840  // prdSet.reserve(m_d->selectedPRDs.count());
841  // for (const Trk::PrepRawData* prd : m_d->selectedPRDs)
842  // prdSet.push_back(prd);
843  //
844  // if (prdSet.size()==0) {
845  // message("ERROR - Aborting refit as prdset is empty");
846  // return;
847  // }
848  //
849  // //Get direction from PRD locations
850  // unsigned i1(0),i2(prdSet.size()-1);
851  // const Amg::Vector3D* globPos0 = prdSet.at(i1)->detectorElement()->surface(prdSet.at(i1)->identify()).localToGlobal(prdSet.at(i1)->localPosition());
852  // const Amg::Vector3D* globPos1 = prdSet.at(i2)->detectorElement()->surface(prdSet.at(i2)->identify()).localToGlobal(prdSet.at(i2)->localPosition());
853  // Amg::Vector3D globMom = *globPos1 - *globPos0;
854  //
855  // // Loop and try several momenta
856  // double minMom = 3000.0;
857  // double maxMom = 23000.0;
858  // int numberIterations = 10;
859  // double stepSize = (maxMom-minMom)/static_cast<double>(numberIterations);
860  //
861  // const Trk::Track* bestTrack=0;
862  // bool outlier = m_d->common->controller()->fitterRemoveOutliers();
863  // Trk::ParticleHypothesis hypo = m_d->common->controller()->fitterParticleHypthesis();
864  // for ( double initialMom = minMom ; initialMom<=maxMom ; initialMom+=stepSize){
865  // globMom.setMag(initialMom);
866  // Trk::Perigee params(*globPos0, globMom, 1.0, Amg::Vector3D(0.0,0.0,0.0));
867  //
868  // const Trk::Track* fittedtrk = currentFitter->fit(prdSet, params, outlier,hypo );
869  //
870  // QString mom=QString::number(initialMom);
871  // if (!fittedtrk || !(fittedtrk->fitQuality() ) ) {
872  // message("Track fit failed for seed momentum: "+mom+", outlier="+QString::number(outlier));
873  // delete fittedtrk; //Discard tracks with no FQ (shouldn't ever happen, but need to test)
874  // } else {
875  // if (!bestTrack) {
876  // bestTrack=fittedtrk; // first valid track
877  // message("Track fit succeeded for seed momentum:"+mom+", outlier="+QString::number(outlier)+", and is new best track.");
878  // } else {
879  // // okay, have valid fit so now compare to previous track...
880  // const Trk::FitQuality* bestFQ = bestTrack->fitQuality();
881  // const Trk::FitQuality* fittedFQ = fittedtrk->fitQuality();
882  // if ( (fittedFQ->chiSquared()/fittedFQ->doubleNumberDoF())>(bestFQ->chiSquared()/bestFQ->doubleNumberDoF()) ){
883  // delete bestTrack; bestTrack=fittedtrk; // Replace old best track with this one
884  // message("Track fit succeeded for seed momentum:"+mom+", outlier="+QString::number(outlier)+", and is new best track.");
885  // } else {
886  // delete fittedtrk; // fit not as good as previous fit.
887  // message("Track fit succeeded for seed momentum:"+mom+", outlier="+QString::number(outlier)+", but is not best track.");
888  // }
889  // }
890  // }
891  //
892  // }
893  //
894  // if (!bestTrack) {
895  // message("All fits failed - no resulting track.");
896  // return;
897  // }
898  //
899  // delete globPos0; delete globPos1;
900  //
901  // fittedtracks << bestTrack;
902  //
903  // std::ostringstream s;
904  // s << *bestTrack;
905  // messageVerbose( QString(s.str().c_str()).split('\n'));
906 }

◆ refitSingleTrack()

void VP1TrackSystem::refitSingleTrack ( const Trk::ITrackFitter currentFitter,
QList< const Trk::Track * > &  fittedtracks 
)
private

Definition at line 908 of file VP1TrackSystem.cxx.

909 {
911  const TrackHandle_TrkTrack* trkhandle = dynamic_cast<const TrackHandle_TrkTrack*>(handle);
912  if (!trkhandle) return; // shouldn't ever happen
913  const Trk::Track* track =trkhandle->trkTrackPointer();
914  if (!track) return; // shouldn't ever happen
915 
916  bool outlier = m_d->common->controller()->fitterRemoveOutliers();
918 
919  const Trk::Track* fittedtrk =
920  currentFitter->fit(Gaudi::Hive::currentContext(), *track, outlier, hypo).release();
921 
922  if (!fittedtrk) {
923  message("Fit failed - no resulting track.");
924  return;
925  }
926 
927  fittedtracks << fittedtrk;
928 
929  std::ostringstream s;
930  s << *fittedtrk;
931  messageVerbose( QString(s.str().c_str()).split('\n'));
932 }

◆ 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();
165  updateGUI();
166  m_d->root->addChild(m_d->rootE);
167 
168  m_d->wasrefreshed=true;
169 
170 }

◆ 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  }
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 }

◆ 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 VP1TrackSystem::restoreFromState ( QByteArray  ba)
virtual

Reimplemented from IVP1System.

Definition at line 425 of file VP1TrackSystem.cxx.

426 {
427  //Version & base state:
428  VP1Deserialise state(ba,this);
429  if (state.version()==0) {
430  //We simply won't support .vp1 files from the old track system.
431  message("Warning: State data has obsolete format - ignoring!");
432  return;
433  }
434  if (state.version()!=1) {
435  message("Warning: State data has wrong format - ignoring!");
436  return;
437  }
438 
440 
441  IVP13DSystemSimple::restoreFromState(state.restoreByteArray());
442 
443  m_d->common->controller()->restoreSettings(state.restoreByteArray());
445 
446  state.disableUnrestoredChecks();//We do the testing in the controller
447 }

◆ saveState()

QByteArray VP1TrackSystem::saveState ( )
virtual

Reimplemented from IVP1System.

Definition at line 408 of file VP1TrackSystem.cxx.

409 {
410  //Version & base state:
411  VP1Serialise serialise(1/*version*/,this);
412  serialise.save(IVP13DSystemSimple::saveState());//Info from base class
413 
414  // Actual state info:
418 
419  serialise.disableUnsavedChecks();//We do the testing in the controller
420 
421  return serialise.result();
422 }

◆ selAscs()

SoCooperativeSelection* VP1TrackSystem::selAscs ( )

◆ selTracks()

SoCooperativeSelection * VP1TrackSystem::selTracks ( )

Needed in TrackSystemController::objectBrowserClicked(QTreeWidgetItem * item, int)

Definition at line 934 of file VP1TrackSystem.cxx.

935 {
936  return m_d->sel_tracks;
937 }

◆ serviceLocator()

ISvcLocator * IVP1System::serviceLocator ( ) const
inherited

Definition at line 324 of file IVP1System.cxx.

325 {
327 }

◆ 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();
170  return;
171  } else if (m_d->activeState==s) {
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  }
189 }

◆ setApplicableIDProjections

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

Definition at line 489 of file VP1TrackSystem.cxx.

492 {
493  messageVerbose("Signal received in setApplicableIDProjections slot");
495  if (!m_d->common)//After uncreate.
496  return;
497  bool changes(false);
498  if (m_d->common->indetProjHelper_Pixel()->parts() != pixel) {
500  changes = true;
501  }
502  if (m_d->common->indetProjHelper_SCT()->parts() != sct) {
504  changes = true;
505  }
506  if (m_d->common->indetProjHelper_TRT()->parts() != trt) {
508  changes = true;
509  }
510 
511  if (changes) {
512  messageVerbose(" => Flags changed.");
513  if (m_d->common->controller()) {
515  collhandle->updateInDetProjectionsOfAllHandles();
516  }
517  } else {
518  messageVerbose(" => Flags unchanged.");
519  }
520 }

◆ 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  }
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 }

◆ setSelectedPRDs

void VP1TrackSystem::setSelectedPRDs ( const QList< const Trk::PrepRawData * > &  s)
slot

Definition at line 786 of file VP1TrackSystem.cxx.

787 {
788  m_d->selectedPRDs = s;
789  if (m_d->common&&m_d->common->controller())
791 }

◆ 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)
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)
325  else
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.

◆ str() [1/30]

static 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]

static QString VP1String::str ( const bool  b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

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

◆ str() [3/30]

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

Definition at line 50 of file VP1String.h.

50 { return c; }

◆ str() [4/30]

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

Definition at line 81 of file VP1String.h.

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

◆ str() [5/30]

static 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 >
static 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 >
static 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 >
static 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]

static 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 }

◆ 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)+")"; }

◆ 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)+")"; }

◆ 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 >
static 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]

static QString VP1String::str ( int  n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

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

◆ str() [24/30]

static QString VP1String::str ( long  n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

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

◆ str() [25/30]

static QString VP1String::str ( qlonglong  n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

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

◆ str() [26/30]

static QString VP1String::str ( qulonglong  n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

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

◆ str() [27/30]

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

Definition at line 73 of file VP1String.h.

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

◆ str() [28/30]

static QString VP1String::str ( uint  n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

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

◆ str() [29/30]

static QString VP1String::str ( ulong  n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

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

◆ str() [30/30]

static 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 VP1TrackSystem::systemcreate ( StoreGateSvc detstore)
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 177 of file VP1TrackSystem.cxx.

178 {
179  messageVerbose("systemcreate");
182 
183  connect(m_d->common->controller(),SIGNAL(shownTrackPartsChanged(TrackCommonFlags::TrackPartsFlags)),
185  connect(m_d->common->controller()->collWidget(),SIGNAL(visibleStdCollectionsChanged(const QList<VP1StdCollection*>&)),
188 
189 }

◆ systemerase()

void VP1TrackSystem::systemerase ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 359 of file VP1TrackSystem.cxx.

360 {
361  messageVerbose("systemErase begin");
362 
364  messageVerbose("collWidget cleared");
365 
367 
369  if (m_d->sel_tracks) {
371  m_d->sel_tracks->unref();
372  m_d->sel_tracks=nullptr;
373  }
374 
375  if (m_d->totmomsep)
376  m_d->totmomsep->removeAllChildren();
377 
378  if (m_d->common->m_textSep) // FIXME!
379  m_d->common->m_textSep->removeAllChildren();
380 
381  m_d->totmomgev = Amg::Vector3D(0,0,0);
382 
383  if (VP1Msg::verbose()) {
386  +" instances of AssociatedObjectHandleBase alive at end of systemerase(). "
387  "(ignore this warning if there is more than one track system instance).");
390  +" instances of TrackHandleBase alive at end of systemerase(). "
391  "(ignore this warning if there is more than one track system instance).");
392  }
393 
396  for(;itMat!=itMatEnd;++itMat) {
397  SoMaterial* curmat = itMat->second;
398  curmat->unref();
399  }
401  for (unsigned int i=0;i<m_d->chamberT0s.size();++i)
402  m_d->chamberT0s.at(i).clear();
403 
404  messageVerbose("systemErase end");
405 }

◆ systemuncreate()

void VP1TrackSystem::systemuncreate ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 192 of file VP1TrackSystem.cxx.

193 {
194  messageVerbose("systemuncreate");
195  if (m_d->totmomsep) {
196  m_d->totmomsep->unref();
197  m_d->totmomsep=nullptr;
198  }
199  if (m_d->totmomline) {
200  m_d->totmomline->unref();
201  m_d->totmomline = nullptr;
202  }
203  delete m_d->common; m_d->common = nullptr;
204 }

◆ toolSvc()

IToolSvc * IVP1System::toolSvc ( ) const
inherited

Definition at line 330 of file IVP1System.cxx.

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

◆ touchedMuonChambersChanged

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

◆ tracksFromVertexChanged

void VP1TrackSystem::tracksFromVertexChanged ( QList< std::pair< const SoMaterial *, QList< const Trk::Track * > > > &  vertexList)
slot

Definition at line 989 of file VP1TrackSystem.cxx.

989  {
990  messageVerbose("VP1TrackSystem::tracksFromVertexChanged. Got a list THIS big! "+QString::number(vertexList.size()));
991 
992  // firstly, by default option to cut tracks by vertex is disabled, so enable:
994 
995  // do something with vertexList!
996  for (const auto& it : vertexList){
997  SoMaterial* mat = const_cast<SoMaterial*>(it.first);
998  messageVerbose("Number of tracks associated with this vertex= "+QString::number(it.second.size()));
999 
1000 
1001  for (const Trk::Track* trk : it.second) {
1003  mat->ref();
1004 // messageVerbose("Adding TrackHandleBase with pointer= "+QString::number((unsigned int)handle)+" for trk="+QString::number((unsigned int)trk));
1005  }
1006  }
1007 
1008  // update track collections too.
1010  if (coll->allowColourByVertex()) coll->updateMaterialOfAllHandles();
1011 }

◆ 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);
213  systemuncreate();
214  m_d->root->removeAllChildren();
215  m_d->rootE->removeAllChildren();
216  m_d->rootR->removeAllChildren();
217  m_d->wascreated=false;
218 }

◆ 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 
301  selection->unref();
302 
303  messageVerbose("selection node unregistered");
304 
305 }

◆ updateAlignment

void VP1TrackSystem::updateAlignment ( )
slot

Special mode to allow in VP1 alignment tests.

Definition at line 939 of file VP1TrackSystem.cxx.

939  {
940  messageVerbose("updateAlignment");
941 
942  std::vector<double> values = m_d->common->controller()->alignmentShiftValue();
944 
945  messageVerbose("updateAlignment called with level="+QString::number(level));
946  assert (values.size()==6);
953 
954  const Trk::TrkDetElementBase* detEl = nullptr;
955 
956  // Try to find last selected TSOS
957  if (!m_d->ascObjSelManager) {
958  // this shouldn't happen!
959  message ("No selection manager - giving up.");
960  return;
961  }
962 
963  QList<AssociatedObjectHandleBase*> currentsel = m_d->ascObjSelManager->currentSelection();
964  for (AssociatedObjectHandleBase* meas : currentsel) {
965  AscObj_TSOS* tsosAsc = dynamic_cast<AscObj_TSOS*>(meas);
966  if (tsosAsc){
967  if (tsosAsc->rioOnTrack() )
968  detEl= tsosAsc->rioOnTrack()->detectorElement ();
969  else if (tsosAsc->trackStateOnSurface()->trackParameters() )
971  }
972  if (detEl) break; // set, so can skip rest
973  }
974  if (!detEl){
975  messageVerbose("No det Element found");
976 
977  return;// Abort!
978  } else {
979  const MdtIdHelper* mdtIdHelper = VP1DetInfo::mdtIDHelper();
980  std::string stationName(mdtIdHelper->stationNameString (mdtIdHelper->stationName(detEl->identify())));
981 
982  messageVerbose("Found det Element from station="+QString(stationName.c_str()));
983  }
984 
985  // redraw everything;
986  // FIXME
987 }

◆ updateGUI()

void IVP13DSystemSimple::updateGUI ( )
inlineinherited

Definition at line 89 of file IVP13DSystemSimple.h.

◆ updateSelectionMode

void VP1TrackSystem::updateSelectionMode ( )
privateslot

Definition at line 524 of file VP1TrackSystem.cxx.

525 {
526  messageVerbose("updateSelectionMode start");
527  if (!m_d->sel_tracks||!m_d->ascObjSelManager) {
528  messageVerbose("updateSelectionMode Warning: Ignoring due to null pointers.");
529  return;
530  }
531  deselectAll();
533  m_d->selMode = m_d->common->controller()->selectionMode();//NB: Don't abort if unchanged (we call this method to init)
535  messageVerbose("updateSelectionMode => TRACKFIT");
536  m_d->sel_tracks->policy = SoCooperativeSelection::SINGLE;
539  messageVerbose("updateSelectionMode => MULTITRACK");
540  m_d->sel_tracks->policy = SoCooperativeSelection::TOGGLE;
542  } else {
544  message("updateSelectionMode ERROR: Unexpected selection mode flag");
545  messageVerbose("updateSelectionMode => SINGLEOBJECT");
546  m_d->sel_tracks->policy = SoCooperativeSelection::SINGLE;
548  }
549  messageVerbose("updateSelectionMode end");
550 }

◆ updateShownTotMomentum

void VP1TrackSystem::updateShownTotMomentum ( )
privateslot

Definition at line 694 of file VP1TrackSystem.cxx.

695 {
696  messageVerbose("updateShownTotMomentum");
698  //ensure detach:
699  messageVerbose(" => detach");
700  if (m_d->totmomsep&&m_d->totmomline&&m_d->totmomsep->findChild(m_d->totmomline)>-1)
701  m_d->totmomsep->removeChild(m_d->totmomline);
702  return;
703  }
704  Amg::Vector3D totmom;
705  Amg::Vector3D totpos;
706  double totmass;
707  unsigned nused = m_d->calcTotalMomentumOfSelectedHandles(totmom,totpos,totmass);
708  if (nused==0) {
709  //ensure detach:
710  messageVerbose(" => detach");
711  if (m_d->totmomsep&&m_d->totmomline&&m_d->totmomsep->findChild(m_d->totmomline)>-1)
712  m_d->totmomsep->removeChild(m_d->totmomline);
713  } else {
714  //ensure correct lineset:
715  Amg::Vector3D p2 = totpos+totmom.unit()*1*CLHEP::m;
716  if (!m_d->totmomline) {
717  m_d->totmomline = new SoLineSet;
718  m_d->totmomline->ref();
719  SoVertexProperty * vertices = new SoVertexProperty;
720  m_d->totmomline->vertexProperty = vertices;
721  m_d->totmomline->numVertices.set1Value(0,2);
722 
723  }
724  SoVertexProperty * vertices = static_cast<SoVertexProperty*>(m_d->totmomline->vertexProperty.getValue());
725  vertices->vertex.set1Value(0,totpos.x(),totpos.y(),totpos.z());
726  vertices->vertex.set1Value(1,p2.x(),p2.y(),p2.z());
727  m_d->totmomgev = totmom / CLHEP::GeV;
728  m_d->totmass = totmass;
729  //ensure attach:
730  messageVerbose(" => attach");
731  if (m_d->totmomsep&&m_d->totmomline&&m_d->totmomsep->findChild(m_d->totmomline)<0)
732  m_d->totmomsep->addChild(m_d->totmomline);
733  return;
734  }
735 
736 }

◆ usedIDProjectionsChanged

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

◆ userChangedSelection()

void VP1TrackSystem::userChangedSelection ( SoCooperativeSelection sel,
QSet< SoNode * >  ,
QSet< SoPath * >   
)
virtual

Reimplemented from IVP13DSystem.

Definition at line 739 of file VP1TrackSystem.cxx.

740 {
741  messageVerbose("userChangedSelection begin");
742  if (sel!=m_d->sel_tracks)
743  return;
744  messageVerbose("userChangedSelection => sel_tracks!!");
745 
746 
748  Amg::Vector3D totmom;
749  Amg::Vector3D totpos;
750  double totmass;
751  if (m_d->calcTotalMomentumOfSelectedHandles(totmom,totpos,totmass)>0) {
752  Amg::Vector3D totmomgev = totmom;
753  totmomgev /= CLHEP::GeV;
754  message("Total momentum [GeV] : "+str(totmomgev));//Fixme: Eta/phi/etc...
755  message("Total mass [GeV] : "+str(totmass/CLHEP::GeV));//Fixme: Eta/phi/etc...
756  }
757  }
758 
760 }

◆ userClickedOnBgd()

void VP1TrackSystem::userClickedOnBgd ( )
virtual

Reimplemented from IVP13DSystem.

Definition at line 640 of file VP1TrackSystem.cxx.

641 {
642  messageVerbose("userClickedOnBgd");
643  if (m_d->ascObjSelManager)
645  m_d->common->setLastSelectedTrack(nullptr);
646  QList<const Trk::PrepRawData*> prdSet;
647  setSelectedPRDs(prdSet ); // pass in empty collection. FIXME - this should depend on mode?
648 }

◆ userDeselectedSingleNode()

void VP1TrackSystem::userDeselectedSingleNode ( SoCooperativeSelection ,
SoNode *  ,
SoPath *   
)
virtual

Reimplemented from IVP13DSystem.

Definition at line 651 of file VP1TrackSystem.cxx.

652 {
653  messageVerbose("userDeselectedSingleNode");
654 }

◆ userPickedNode()

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

Reimplemented from IVP13DSystemSimple.

Definition at line 553 of file VP1TrackSystem.cxx.

554 {
555  messageVerbose("userPickedNode");
556  if (pickedNode==m_d->totmomline) {
557  message("Total momentum of selected tracks [GeV]: p = "+str(m_d->totmomgev)+", m = "+str(m_d->totmass/CLHEP::GeV));
558  return;
559  }
560 
561  message("Unknown object clicked");
562 }

◆ userSelectedSingleNode()

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

Reimplemented from IVP13DSystem.

Definition at line 565 of file VP1TrackSystem.cxx.

566 {
567  messageVerbose("userSelectedSingleNode");
568  AssociatedObjectHandleBase* pickedHandle(nullptr);
569  if (!m_d->ascObjSelManager->handleUserSelectedSingleNode(sel,node,pickedPath,pickedHandle)) {
570  if (sel==m_d->sel_tracks) {
571  //Hack to get selections working when representing tracks with tubes:
572  if (node->getTypeId().isDerivedFrom(SoCylinder::getClassTypeId())) {
573  pickedPath->pop();
574  node=pickedPath->getTail();
575  }
576  TrackHandleBase * handle = m_d->common->trackHandle(node);
577  if (!handle) {
578  message("ERROR: Unknown track.");
579  return;
580  }
581  TrackHandle_TrkTrack * handle_trktrack = dynamic_cast<TrackHandle_TrkTrack *>(handle);
582  if (handle_trktrack&&m_d->selMode==TrackCommonFlags::TRACKFIT) {
583  messageVerbose("userSelectedSingleNode - find measurements for track fit");
584 
585  QList<AssociatedObjectHandleBase*> trackmeas = handle_trktrack->getVisibleMeasurements();
586 
587  if (trackmeas.empty()) message("In refit mode, but no visible measurements found so can't do anything. Perhaps they're not enabled in 'Details'?");
588  QList<AssociatedObjectHandleBase*> currentsel = m_d->ascObjSelManager->currentSelection();
589  //If at least one of the track measurements is unselected, we
590  //select them all. Otherwise we deselect them.
591  bool oneunselected(false);
592  for (AssociatedObjectHandleBase* meas : trackmeas) {
593  if (!currentsel.contains(meas)) {
594  oneunselected = true;
595  break;
596  }
597  }
598  QList<const Trk::PrepRawData*> prdSet;
599  if (oneunselected) {
600  messageVerbose("userSelectedSingleNode - selecting " +QString::number(trackmeas.size()) + " measurements.");
601  m_d->ascObjSelManager->ensureSelected(trackmeas);
602 
603  // Add PRDs. Need to be careful as they might not exist.
604  for (AssociatedObjectHandleBase* meas : trackmeas) {
605  AscObj_TSOS* tsosAsc = dynamic_cast<AscObj_TSOS*>(meas);
606  if (tsosAsc && tsosAsc->rioOnTrack() && tsosAsc->rioOnTrack()->prepRawData()) prdSet.append(tsosAsc->rioOnTrack()->prepRawData());
607  }
608  } else {
609  messageVerbose("userSelectedSingleNode - deselecting " +QString::number(trackmeas.size()) + " measurements.");
611  }
612  setSelectedPRDs(prdSet); // FIXME - maybe I should append/remove from existing list?
613 
614  m_d->sel_tracks->deselectAll();
615  } else {
617  message(handle->clicked());
618  messageVerbose("Emitting newTrackSelected ");
619  m_d->common->setLastSelectedTrack(handle);
620  emit newTrackSelected(*handle);
621  m_d->common->controller()->setNumberOfSelectedPRDsAndTracks(m_d->selectedPRDs.count(),1); // FIXME - we can do this more cleanly?
622  }
623  }
624  } else {
625  message("ERROR: Unknown selection.");
626  return;
627  }
628  }
630  if (!pickedHandle||!pickedHandle->initiatesOwnZooms()) {
631  std::set<SoCamera*> cameras = getCameraList();
632  std::set<SoCamera*>::iterator it,itE = cameras.end();
633  for (it=cameras.begin();it!=itE;++it)
634  VP1CameraHelper::animatedZoomToPath(*it,sel,pickedPath,2.0,1.0);
635  }
636  }
637 }

◆ verbose()

static 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

◆ visibleObjectsChanged

void VP1TrackSystem::visibleObjectsChanged ( )
privateslot

Definition at line 457 of file VP1TrackSystem.cxx.

458 {
460  if (trackhelper) {
461  //Fixme: For now we re-encode in a vector, to get old signal/slot signatures. We should change that!
462  // -> and remember not to put const in front of the so materials!!
463  std::vector< std::pair<const Trk::Track*, const SoMaterial*> > vistracks;
464  vistracks.reserve(trackhelper->visibleObjects().size());
465  std::map<const Trk::Track*,SoMaterial*>::const_iterator it, itE = trackhelper->visibleObjects().end();
466  for (it = trackhelper->visibleObjects().begin();it!=itE;++it)
467  vistracks.emplace_back(it->first,it->second);
468  messageVerbose("Emitting visibleTracksChanged (with nvistracks = "+QString::number(vistracks.size())+")" );
469  emit visibleTracksChanged(vistracks);
470  return;
471  }
473  if (segmenthelper) {
474  //Fixme: For now we re-encode in a vector, to get old signal/slot signatures. We should change that!
475  // -> and remember not to put const in front of the so materials!!
476  std::vector< std::pair<const Trk::Segment*, const SoMaterial*> > vissegments;
477  vissegments.reserve(segmenthelper->visibleObjects().size());
478  std::map<const Trk::Segment*,SoMaterial*>::const_iterator it, itE = segmenthelper->visibleObjects().end();
479  for (it = segmenthelper->visibleObjects().begin();it!=itE;++it)
480  vissegments.emplace_back(it->first,it->second);
481  messageVerbose("Emitting visibleSegmentsChanged (with nvissegments = "+QString::number(vissegments.size())+")" );
482  emit visibleSegmentsChanged(vissegments);
483  return;
484  }
485  message("unexpected signal received in visibleObjectsChanged slot");
486 }

◆ visibleSegmentsChanged

void VP1TrackSystem::visibleSegmentsChanged ( const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > &  )
signal

◆ visibleTracksChanged

void VP1TrackSystem::visibleTracksChanged ( const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > &  )
signal

◆ warnOnDisabledNotifications()

void IVP13DSystemSimple::warnOnDisabledNotifications ( ) const
inherited

Definition at line 221 of file IVP13DSystemSimple.cxx.

222 {
223  QList<SoNode*> nodesR;
224  QList<SoNode*> 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* VP1TrackSystem::m_d
private

Definition at line 102 of file VP1TrackSystem.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:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
IVP13DSystemSimple::systemuncreate
virtual void systemuncreate()
Definition: IVP13DSystemSimple.cxx:27
VP1TrackSystem::Imp::lastEmittedUsedIDProjections
InDetProjFlags::DetTypeFlags lastEmittedUsedIDProjections
Definition: VP1TrackSystem.cxx:106
MdtIdHelper::multilayer
int multilayer(const Identifier &id) const
Access to components of the ID.
Definition: MdtIdHelper.cxx:722
Trk::TrackStateOnSurface::trackParameters
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
VP1TrackSystem::m_d
Imp * m_d
Definition: VP1TrackSystem.h:101
IVP1System::Imp::contact_info
const QString contact_info
Definition: IVP1System.cxx:39
AssociatedObjectHandleBase
Definition: AssociatedObjectHandleBase.h:33
StoreGateSvc::contains
bool contains(const TKEY &key) const
Look up a keyed object in TDS (compare also tryRetrieve) returns false if object not available in TDS...
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
TrackCollHandleBase
Definition: TrackCollHandleBase.h:49
InDetProjHelper::parts
InDetProjFlags::InDetProjPartsFlags parts() const
Definition: InDetProjHelper.cxx:268
IVP13DSystem::Imp::selection2system
static std::map< SoCooperativeSelection *, IVP13DSystem * > selection2system
Definition: IVP13DSystem.cxx:46
AscObjSelectionManager::deselectAll
void deselectAll()
Definition: AscObjSelectionManager.cxx:326
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
VP1TrackSystem::updateShownTotMomentum
void updateShownTotMomentum()
Definition: VP1TrackSystem.cxx:694
AscObjSelectionManager::handleUserSelectedSingleNode
bool handleUserSelectedSingleNode(SoCooperativeSelection *, SoNode *, SoPath *, AssociatedObjectHandleBase *&)
Definition: AscObjSelectionManager.cxx:233
VP1Serialise
Definition: VP1Serialise.h:45
TrackSysCommonData::controller
TrackSystemController * controller() const
Definition: TrackSysCommonData.h:116
Trk::Surface::associatedDetectorElement
const TrkDetElementBase * associatedDetectorElement() const
return associated Detector Element
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:126
IVP13DSystem::Imp::made_selection
static void made_selection(void *userdata, SoPath *path)
Definition: IVP13DSystem.cxx:192
TrackSystemController::vertexCutsAllowed
void vertexCutsAllowed(bool)
Definition: TrackSystemController.cxx:1772
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
IVP13DSystemSimple::IVP13DSystemSimple
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)
Definition: IVP13DSystemSimple.cxx:50
IVP13DSystem::Imp::viewers
std::set< SoQtViewer * > viewers
Definition: IVP13DSystem.cxx:37
IVP13DSystemSimple::buildController
virtual QWidget * buildController()
Definition: IVP13DSystemSimple.cxx:24
RoiUtil::serialise
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors
Definition: RoiSerialise.cxx:45
VP1CollectionWidget::addCollections
void addCollections(QList< VP1Collection * >, bool applySavedStates=true)
Definition: VP1CollectionWidget.cxx:237
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
TrackCommonFlags::EXTENDTRACKWITHPRDS
@ EXTENDTRACKWITHPRDS
Definition: TrackCommonFlags.h:36
TrackSysCommonData::trackLODManager
TrackLODManager * trackLODManager() const
Definition: TrackSysCommonData.h:123
VP1TrackSystem::refitFromPRDs
void refitFromPRDs(const Trk::ITrackFitter *currentFitter, QList< const Trk::Track * > &fittedtracks)
Definition: VP1TrackSystem.cxx:835
dumpTgcDigiDeadChambers.stationName
dictionary stationName
Definition: dumpTgcDigiDeadChambers.py:30
AscObjSelectionManager::currentSelection
QList< AssociatedObjectHandleBase * > currentSelection() const
Definition: AscObjSelectionManager.cxx:408
IVP1System::CONSTRUCTED
@ CONSTRUCTED
Definition: IVP1System.h:143
AscObjSelectionManager::getAscObjAttachSep
SoSeparator * getAscObjAttachSep() const
Definition: AscObjSelectionManager.cxx:135
AscObj_TSOS::rioOnTrack
const Trk::RIO_OnTrack * rioOnTrack() const
Definition: AscObj_TSOS.cxx:925
MuonIdHelper::is_mdt
bool is_mdt(const Identifier &id) const
Definition: MuonIdHelper.cxx:786
TrackHandleBase::clicked
virtual QStringList clicked() const =0
Called when user selects the node (stringlist is displayed in messagebox).
Trk::ParametersBase::associatedSurface
virtual const Surface & associatedSurface() const override=0
Access to the Surface associated to the Parameters.
hist_file_dump.d
d
Definition: hist_file_dump.py:137
VP1TrackSystem::Imp::selectedPRDs
QList< const Trk::PrepRawData * > selectedPRDs
Definition: VP1TrackSystem.cxx:114
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:53
VisibleObjectToMaterialHelper< Trk::Track >
Muon::ChamberT0s
Stores links between chambers and the reconstructed T0.
Definition: ChamberT0s.h:17
TrackCommonFlags::REFITSINGLETRACK
@ REFITSINGLETRACK
Definition: TrackCommonFlags.h:36
TrackSysCommonData::m_textSep
SoSeparator * m_textSep
Definition: TrackSysCommonData.h:88
VP1TrackSystem::Imp::totmomsep
SoSeparator * totmomsep
Definition: VP1TrackSystem.cxx:109
fillPileUpNoiseLumi.connect
string connect
Definition: fillPileUpNoiseLumi.py:70
AscObjSelectionManager::SINGLE
@ SINGLE
Definition: AscObjSelectionManager.h:52
IVP13DSystemSimple::Imp::rootR
SoSeparator * rootR
Definition: IVP13DSystemSimple.cxx:37
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
SoCooperativeSelection::activePolicy
SoSFEnum activePolicy
Definition: SoCooperativeSelection.h:49
skel.it
it
Definition: skel.GENtoEVGEN.py:423
VP1TrackSystem::setSelectedPRDs
void setSelectedPRDs(const QList< const Trk::PrepRawData * > &)
Definition: VP1TrackSystem.cxx:786
IVP1System::m_d
Imp * m_d
Definition: IVP1System.h:130
IVP13DSystemSimple::Imp::rootE
SoSeparator * rootE
Definition: IVP13DSystemSimple.cxx:38
VP1TrackSystem::Imp::totmomgev
Amg::Vector3D totmomgev
Definition: VP1TrackSystem.cxx:111
MuonIdHelper::is_csc
bool is_csc(const Identifier &id) const
Definition: MuonIdHelper.cxx:789
IVP1System::inactiveSystemTurnedActive
void inactiveSystemTurnedActive()
VP1Msg::debug
static bool debug()
Definition: VP1Msg.h:32
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
MuonIdHelper::technologyString
const std::string & technologyString(const int &index) const
Definition: MuonIdHelper.cxx:865
IVP1System::Imp::refreshing
bool refreshing
Definition: IVP1System.cxx:45
Trk::TrkDetElementBase
Definition: TrkDetElementBase.h:52
TrackHandle_TrkTrack::trkTrackPointer
const Trk::Track * trkTrackPointer() const
Definition: TrackHandle_TrkTrack.h:43
IVP13DSystem::Imp::clickedoutside
static void clickedoutside(void *userdata, SoCooperativeSelection *sel)
Definition: IVP13DSystem.cxx:65
AscObjSelectionManager::ensureSelected
void ensureSelected(const QList< AssociatedObjectHandleBase * > &)
Definition: AscObjSelectionManager.cxx:350
sendEI_SPB.root
root
Definition: sendEI_SPB.py:34
VP1CameraHelper::animatedZoomToPath
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)
Definition: VP1CameraHelper.cxx:371
IVP1ChannelWidget::emitRefreshInfoChanged
void emitRefreshInfoChanged()
Definition: IVP1ChannelWidget.cxx:268
MuonGM::CscReadoutElement
Definition: CscReadoutElement.h:56
VP1CollectionWidget::clear
void clear(bool deleteCollections=true, bool deleteGuiElements=false)
Definition: VP1CollectionWidget.cxx:81
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MuonIdHelper::stationName
int stationName(const Identifier &id) const
Definition: MuonIdHelper.cxx:804
Trk::TrkDetElementBase::identify
virtual Identifier identify() const =0
Identifier.
TrackSystemController::alignmentShiftValue
std::vector< double > alignmentShiftValue()
Definition: TrackSystemController.cxx:2159
TrackSystemController::ascObjDrawStyle
SoDrawStyle * ascObjDrawStyle() const
Definition: TrackSystemController.cxx:1458
x
#define x
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
VP1Controller::saveSettings
QByteArray saveSettings() const
Definition: VP1Controller.cxx:405
IVP13DSystemSimple::buildPermanentSceneGraph
virtual void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
Definition: IVP13DSystemSimple.cxx:25
Trk::ITrackFitter
Definition: ITrackFitter.h:42
VP1TrackSystem::visibleSegmentsChanged
void visibleSegmentsChanged(const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > &)
VP1CollectionWidget::setCollections
void setCollections(QList< VP1Collection * >, bool applySavedStates=true)
Definition: VP1CollectionWidget.cxx:258
IVP1System::s_vp1verbose
static const bool s_vp1verbose
Definition: IVP1System.h:158
TrackSystemController::nameOfNewlyFittedCollections
QString nameOfNewlyFittedCollections() const
Definition: TrackSystemController.cxx:1470
TruthTest.itE
itE
Definition: TruthTest.py:25
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:797
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
MuonGM::MuonReadoutElement
Base class for the XxxReadoutElement, with Xxx = Mdt, Rpc, Tgc, Csc.
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonReadoutElement.h:40
IVP1System::state
State state() const
Definition: IVP1System.cxx:129
VP1TrackSystem::Imp::createCollections
QList< TrackCollHandleBase * > createCollections()
Definition: VP1TrackSystem.cxx:129
IVP1System::saveState
virtual QByteArray saveState()
Definition: IVP1System.cxx:294
StoreGateSvc::retrieve
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
IVP13DSystemSimple::Imp::root
SoCooperativeSelection * root
Definition: IVP13DSystemSimple.cxx:36
VP1TrackSystem::Imp::totmomline
SoLineSet * totmomline
Definition: VP1TrackSystem.cxx:110
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
TrackSystemController::trackFitter
Trk::ITrackFitter * trackFitter() const
Definition: TrackSystemController.cxx:1666
IVP13DSystemSimple::buildEventSceneGraph
virtual void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)=0
IVP1System::needErase
void needErase()
TrackSystemController::alignmentShiftLevel
int alignmentShiftLevel()
Definition: TrackSystemController.cxx:2170
IVP13DSystem::registerSelectionNode
void registerSelectionNode(SoCooperativeSelection *)
Definition: IVP13DSystem.cxx:257
VP1TrackSystem::Imp::ascObjSelManager
AscObjSelectionManager * ascObjSelManager
Definition: VP1TrackSystem.cxx:103
TrackCommonFlags::MULTITRACK
@ MULTITRACK
Definition: TrackCommonFlags.h:33
VP1Msg::prefix_msg
static const char * prefix_msg()
Definition: VP1Msg.h:56
MuonGM::MuonDetectorManager::getMdtReadoutElement
const MdtReadoutElement * getMdtReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:204
VP1Controller::restoreSettings
void restoreSettings(QByteArray)
Definition: VP1Controller.cxx:387
TrackSysCommonData
Definition: TrackSysCommonData.h:47
VP1TrackSystem::muonChamberT0sChanged
void muonChamberT0sChanged(const std::map< GeoPVConstLink, float > &, int)
The map is the dt0 per chamber, plus a label identifier, which by convention (!) is 0=Moore,...
IVP1System::Imp::information
const QString information
Definition: IVP1System.cxx:38
IVP13DSystem::Imp::start_changeselection
static void start_changeselection(void *userdata, SoSelection *sel)
Definition: IVP13DSystem.cxx:94
lumiFormat.i
int i
Definition: lumiFormat.py:92
z
#define z
MuonGM::MuonDetectorManager::getCscReadoutElement
const CscReadoutElement * getCscReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:225
beamspotman.n
n
Definition: beamspotman.py:731
VP1TrackSystem::Imp::selMode
TrackCommonFlags::SELECTIONMODE selMode
Definition: VP1TrackSystem.cxx:104
IVP13DSystemSimple::systemerase
virtual void systemerase()
Definition: IVP13DSystemSimple.cxx:28
sel
sel
Definition: SUSYToolsTester.cxx:92
VP1TrackSystem::Imp::currentUsedIDProjections
InDetProjFlags::DetTypeFlags currentUsedIDProjections() const
Definition: VP1TrackSystem.cxx:766
VP1TrackSystem::Imp::calcTotalMomentumOfSelectedHandles
unsigned calcTotalMomentumOfSelectedHandles(Amg::Vector3D &totmom, Amg::Vector3D &totpos, double &mass) const
Definition: VP1TrackSystem.cxx:657
TrackSystemController::setCommonData
void setCommonData(TrackSysCommonData *)
set pointer to the common data
Definition: TrackSystemController.cxx:2057
VP1TrackSystem::Imp::totmass
double totmass
Definition: VP1TrackSystem.cxx:112
VP1TrackSystem::usedIDProjectionsChanged
void usedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)
TrackCommonFlags::SINGLEOBJECT
@ SINGLEOBJECT
Definition: TrackCommonFlags.h:33
MdtIdHelper
Definition: MdtIdHelper.h:61
IVP1System::name
const QString & name() const
Definition: IVP1System.cxx:50
IVP1System::REFRESHED
@ REFRESHED
Definition: IVP1System.h:143
IVP1System::Imp::activeState
ActiveState activeState
Definition: IVP1System.cxx:43
TrackCollHandle_RefittedTracks
Definition: TrackCollHandle_RefittedTracks.h:24
VP1TrackSystem::Imp::sel_tracks
SoCooperativeSelection * sel_tracks
Definition: VP1TrackSystem.cxx:102
TrackSysCommonData::indetProjHelper_SCT
InDetProjHelper * indetProjHelper_SCT() const
Definition: TrackSysCommonData.h:119
TrackHandle_TrkTrack
Definition: TrackHandle_TrkTrack.h:29
VP1TrackSystem::visibleTracksChanged
void visibleTracksChanged(const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > &)
TrackCommonFlags::TRACKFIT
@ TRACKFIT
Definition: TrackCommonFlags.h:33
TrackCommonFlags::COMBINETWOTRACKS
@ COMBINETWOTRACKS
Definition: TrackCommonFlags.h:36
IVP13DSystemSimple::systemcreate
virtual void systemcreate(StoreGateSvc *detstore)
Definition: IVP13DSystemSimple.cxx:23
AssociatedObjectHandleBase::numberOfInstances
static int numberOfInstances()
Definition: AssociatedObjectHandleBase.cxx:130
IVP13DSystemSimple::ensureBuildController
void ensureBuildController()
Definition: IVP13DSystemSimple.cxx:90
MuonGM::MuonDetectorManager::mdtIdHelper
const MdtIdHelper * mdtIdHelper() const
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:221
VP1CollectionWidget::collections
QList< VP1Collection * > collections() const
Definition: VP1CollectionWidget.cxx:61
VP1TrackSystem::newTrackSelected
void newTrackSelected(const TrackHandleBase &)
IVP1System::Imp::allowupdategui
bool allowupdategui
Definition: IVP1System.cxx:41
VP1Deserialise
Definition: VP1Deserialise.h:44
VP1TrackSystem::refitSingleTrack
void refitSingleTrack(const Trk::ITrackFitter *currentFitter, QList< const Trk::Track * > &fittedtracks)
Definition: VP1TrackSystem.cxx:908
selection
std::string selection
Definition: fbtTestBasics.cxx:73
TrackSystemController::printInfoOnSingleSelection
bool printInfoOnSingleSelection() const
Definition: TrackSystemController.cxx:1967
TrackSystemController::fitterParticleHypthesis
Trk::ParticleHypothesis fitterParticleHypthesis() const
Definition: TrackSystemController.cxx:1734
IVP1System::UNCREATED
@ UNCREATED
Definition: IVP1System.h:143
IVP1System::eventStore
StoreGateSvc * eventStore() const
Definition: IVP1System.cxx:312
VP1TrackSystem::possiblyEmitUsedIDProjectionsChanged
void possiblyEmitUsedIDProjectionsChanged()
Definition: VP1TrackSystem.cxx:776
IVP1System::sysmessage
void sysmessage(QString) const
AscObjSelectionManager::userClickedOnBgd
void userClickedOnBgd()
Definition: AscObjSelectionManager.cxx:316
VP1AthenaPtrs::serviceLocator
static ISvcLocator * serviceLocator()
Definition: VP1AthenaPtrs.h:29
MuonIdHelper::stationPhi
int stationPhi(const Identifier &id) const
Definition: MuonIdHelper.cxx:814
IVP1System::ON
@ ON
Definition: IVP1System.h:144
TrackSysCommonData::setLastSelectedTrack
void setLastSelectedTrack(TrackHandleBase *sel)
Definition: TrackSysCommonData.h:128
IVP13DSystemSimple::Imp::first
bool first
Definition: IVP13DSystemSimple.cxx:43
TrackSystemController::initTools
void initTools()
Definition: TrackSystemController.cxx:533
MuonIdHelper::stationNameString
const std::string & stationNameString(const int &index) const
Definition: MuonIdHelper.cxx:858
VP1AthenaPtrs::eventStore
static StoreGateSvc * eventStore()
Definition: VP1AthenaPtrs.h:27
VP1QtInventorUtils::sbcol2qcol
static QColor sbcol2qcol(const SbColor &)
Definition: VP1QtInventorUtils.cxx:1140
TrackSystemController::fitterMode
TrackCommonFlags::FITTERMODE fitterMode() const
Definition: TrackSystemController.cxx:1713
TrackSystemController::fitterRemoveOutliers
bool fitterRemoveOutliers() const
Definition: TrackSystemController.cxx:1729
SoCooperativeSelection::ACTIVE
@ ACTIVE
Definition: SoCooperativeSelection.h:41
IVP13DSystem::Imp::staticcameras
std::set< SoCamera * > staticcameras
Definition: IVP13DSystem.cxx:36
python.EventInfoMgtInit.release
release
Definition: EventInfoMgtInit.py:24
IVP1System::messageDebug
void messageDebug(const QString &) const
Definition: IVP1System.cxx:347
python.selection.number
number
Definition: selection.py:20
IVP1System::detectorStore
StoreGateSvc * detectorStore() const
Definition: IVP1System.cxx:318
IVP13DSystemSimple::Imp::controllerBuilt
bool controllerBuilt
Definition: IVP13DSystemSimple.cxx:42
VP1AthenaPtrs::toolSvc
static IToolSvc * toolSvc()
Definition: VP1AthenaPtrs.h:30
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TrackSysCommonData::lastSelectedTrackHandle
TrackHandleBase * lastSelectedTrackHandle()
pointer to base of last selected track (zero if nothing selected)
Definition: TrackSysCommonData.h:129
TrackSystemController
Definition: TrackSystemController.h:53
IVP13DSystemSimple::Imp::getNodesWithDisabledNotifications
void getNodesWithDisabledNotifications(SoGroup *, QList< SoNode * > &) const
Definition: IVP13DSystemSimple.cxx:240
IVP1System::Imp::controller
QWidget * controller
Definition: IVP1System.cxx:44
VP1Msg::prefix_debug
static const char * prefix_debug()
Definition: VP1Msg.h:57
AscObjSelectionManager
Definition: AscObjSelectionManager.h:37
TrackSysCommonData::trackHandle
TrackHandleBase * trackHandle(SoNode *n)
Definition: TrackSysCommonData.cxx:157
MuonIdHelper::stationEta
int stationEta(const Identifier &id) const
Definition: MuonIdHelper.cxx:809
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::RIO_OnTrack::prepRawData
virtual const Trk::PrepRawData * prepRawData() const =0
returns the PrepRawData (also known as RIO) object to which this RIO_OnTrack is associated.
TrackSystemController::orientAndZoomOnSingleSelection
bool orientAndZoomOnSingleSelection() const
Definition: TrackSystemController.cxx:1961
IVP1System::registerController
void registerController(QWidget *)
Definition: IVP1System.cxx:224
query_example.col
col
Definition: query_example.py:7
TrackCollHandleBase::init
virtual void init(VP1MaterialButtonBase *matBut=0)
Definition: TrackCollHandleBase.cxx:144
AscObjSelectionManager::setMode
void setMode(MODE)
Definition: AscObjSelectionManager.cxx:125
python.PyAthena.v
v
Definition: PyAthena.py:157
TrackCommonFlags::SELECTIONMODE
SELECTIONMODE
Definition: TrackCommonFlags.h:33
VP1DetInfo::mdtIDHelper
static const MdtIdHelper * mdtIDHelper()
Definition: VP1DetInfo.cxx:163
InDetProjFlags::NoDet
@ NoDet
Definition: InDetProjFlags.h:28
VP1Msg::prefix_verbose
static const char * prefix_verbose()
Definition: VP1Msg.h:59
IVP13DSystemSimple::updateGUI
void updateGUI()
Definition: IVP13DSystemSimple.h:89
VP1DetInfo::muonDetMgr
static const MuonGM::MuonDetectorManager * muonDetMgr()
Definition: VP1DetInfo.cxx:148
TrackSystemController::printTotMomentumOnMultiTrackSelection
bool printTotMomentumOnMultiTrackSelection() const
Definition: TrackSystemController.cxx:1979
TrackHandleBase::getVisibleMeasurements
QList< AssociatedObjectHandleBase * > getVisibleMeasurements() const
Definition: TrackHandleBase.cxx:1979
IVP13DSystem::getCameraList
CamList getCameraList()
Definition: IVP13DSystem.cxx:395
y
#define y
IVP13DSystem::Imp::made_deselection
static void made_deselection(void *userdata, SoPath *path)
Definition: IVP13DSystem.cxx:227
TrackSystemController::selectionMode
TrackCommonFlags::SELECTIONMODE selectionMode() const
Definition: TrackSystemController.cxx:1701
VP1CollectionWidget
Definition: VP1CollectionWidget.h:32
TrackCommonFlags::FROMPRDS
@ FROMPRDS
Definition: TrackCommonFlags.h:36
AscObjSelectionManager::SHIFT
@ SHIFT
Definition: AscObjSelectionManager.h:52
TrackSystemController::trackObjBrowser
QTreeWidget * trackObjBrowser() const
Returns a pointer to the Track Object Browser (if it exists)
Definition: TrackSystemController.cxx:2049
IVP1System::updateGUI
void updateGUI()
Definition: IVP1System.cxx:262
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
MuonIdHelper::technology
int technology(const Identifier &id) const
Definition: MuonIdHelper.cxx:819
VP1TrackSystem::touchedMuonChambersChanged
void touchedMuonChambersChanged(const std::set< GeoPVConstLink > &)
IVP1System::Imp::channel
IVP1ChannelWidget * channel
Definition: IVP1System.cxx:40
IVP13DSystem::unregisterSelectionNode
void unregisterSelectionNode(SoCooperativeSelection *)
Definition: IVP13DSystem.cxx:281
IVP13DSystemSimple::warnOnDisabledNotifications
void warnOnDisabledNotifications() const
Definition: IVP13DSystemSimple.cxx:221
TrackSysCommonData::clearEventData
void clearEventData()
Definition: TrackSysCommonData.cxx:112
TrackCommonFlags::toString
static QString toString(const SELECTIONMODE &)
Definition: TrackCommonFlags.cxx:18
TrackSystemController::ascObjComplexity
SoComplexity * ascObjComplexity() const
Definition: TrackSystemController.cxx:1464
IVP13DSystem::Imp::selectionsWithDisabledNotifications
QSet< SoCooperativeSelection * > selectionsWithDisabledNotifications
Definition: IVP13DSystem.cxx:50
TrackSysCommonData::indetProjHelper_TRT
InDetProjHelper * indetProjHelper_TRT() const
Definition: TrackSysCommonData.h:120
IVP13DSystemSimple::m_d
Imp * m_d
Definition: IVP13DSystemSimple.h:79
TrackSysCommonData::indetProjHelper_Pixel
InDetProjHelper * indetProjHelper_Pixel() const
Definition: TrackSysCommonData.h:118
IVP13DSystem::Imp::finished_changeselection
static void finished_changeselection(void *userdata, SoSelection *sel)
Definition: IVP13DSystem.cxx:121
VP1TrackSystem::Imp::vertexMaterialForTrackBases
std::map< const Trk::Track *, SoMaterial * > vertexMaterialForTrackBases
Definition: VP1TrackSystem.cxx:148
TrackSystemController::collWidget
TrackCollWidget * collWidget() const
Definition: TrackSystemController.cxx:1264
Trk::ITrackFitter::fit
virtual std::unique_ptr< Track > fit(const EventContext &ctx, const Track &track, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
RE-FIT A TRACK.
VP1TrackSystem::Imp::theclass
VP1TrackSystem * theclass
Definition: VP1TrackSystem.cxx:100
str
Definition: BTagTrackIpAccessor.cxx:11
IVP13DSystem::userClickedOnBgd
virtual void userClickedOnBgd()
Definition: IVP13DSystem.cxx:62
VP1Msg::verbose
static bool verbose()
Definition: VP1Msg.h:31
VP1TrackSystem::Imp::common
TrackSysCommonData * common
Definition: VP1TrackSystem.cxx:101
VP1StdCollection
Definition: VP1StdCollection.h:31
MuonGM::MuonDetectorManager::cscIdHelper
const CscIdHelper * cscIdHelper() const
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:224
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::RIO_OnTrack::detectorElement
virtual const TrkDetElementBase * detectorElement() const =0
returns the detector element, assoicated with the PRD of this class
AscObj_TSOS::trackStateOnSurface
const Trk::TrackStateOnSurface * trackStateOnSurface() const
Definition: AscObj_TSOS.h:71
IVP13DSystem::Imp::clickedoutsideScheduled
bool clickedoutsideScheduled
Definition: IVP13DSystem.cxx:53
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
IVP1System::Imp::canregistercontroller
bool canregistercontroller
Definition: IVP1System.cxx:46
VP1AthenaPtrs::detectorStore
static StoreGateSvc * detectorStore()
Definition: VP1AthenaPtrs.h:28
InDetProjHelper::setParts
InDetProjFlags::InDetProjPartsFlags setParts(InDetProjFlags::InDetProjPartsFlags)
Definition: InDetProjHelper.cxx:196
IVP13DSystemSimple::Imp::wascreated
bool wascreated
Definition: IVP13DSystemSimple.cxx:41
TrackSystemController::showTotMomentumOnMultiTrackSelection
bool showTotMomentumOnMultiTrackSelection() const
Definition: TrackSystemController.cxx:1985
TrackHandleBase
Definition: TrackHandleBase.h:56
TrackHandleBase::numberOfInstances
static int numberOfInstances()
Definition: TrackHandleBase.cxx:249
AscObjSelectionManager::ensureDeselected
void ensureDeselected(const QList< AssociatedObjectHandleBase * > &)
Definition: AscObjSelectionManager.cxx:336
VP1TrackSystem::refit
void refit()
Definition: VP1TrackSystem.cxx:794
VP1TrackSystem::Imp::chamberT0s
std::vector< std::map< GeoPVConstLink, float > > chamberT0s
Definition: VP1TrackSystem.cxx:147
IVP13DSystem::m_d
Imp * m_d
Definition: IVP13DSystem.h:116
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
python.compressB64.c
def c
Definition: compressB64.py:93
TrackLODManager::setAttachNode
void setAttachNode(SoGroup *attachnode)
Definition: TrackLODManager.cxx:122
MuonGM::MuonReadoutElement::parentStationPV
PVConstLink parentStationPV() const
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonReadoutElement.cxx:100
AscObj_TSOS
Definition: AscObj_TSOS.h:45
IVP1System::message
void message(const QString &) const
Definition: IVP1System.cxx:336
IVP13DSystem::deselectAll
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
Definition: IVP13DSystem.cxx:331
IVP1System::OFF
@ OFF
Definition: IVP1System.h:144
SiliconTech::pixel
@ pixel
IVP1System::Imp::state
State state
Definition: IVP1System.cxx:42
IVP1System::messageVerbose
void messageVerbose(const QString &) const
Definition: IVP1System.cxx:354
node
Definition: memory_hooks-stdcmalloc.h:74
IVP1System::ERASED
@ ERASED
Definition: IVP1System.h:143
TrackSysCommonData::setEventData
void setEventData(AscObjSelectionManager *)
Definition: TrackSysCommonData.cxx:106
TrackSystemController::setNumberOfSelectedPRDsAndTracks
void setNumberOfSelectedPRDsAndTracks(unsigned prds, unsigned trks)
Definition: TrackSystemController.cxx:2016
IVP1System::Imp::name
const QString name
Definition: IVP1System.cxx:37
SoCooperativeSelection
Definition: SoCooperativeSelection.h:29
IVP13DSystemSimple::Imp::wasrefreshed
bool wasrefreshed
Definition: IVP13DSystemSimple.cxx:40
VP1TrackSystem::updateSelectionMode
void updateSelectionMode()
Definition: VP1TrackSystem.cxx:524
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
IVP1System::restoreFromState
virtual void restoreFromState(QByteArray)
Definition: IVP1System.cxx:302