ATLAS Offline Software
VP1PrepRawDataSystem.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //Fixme: cleanup includes.
7 #include "VP1Utils/VP1DetInfo.h"
25 
26 #include "VP1Base/VP1Serialise.h"
27 #include "VP1Base/VP1Deserialise.h"
32 
33 #include <QBuffer>
34 #include <QByteArray>
35 
36 #include <Inventor/nodes/SoSeparator.h>
37 #include <Inventor/nodes/SoComplexity.h>
38 #include <Inventor/nodes/SoTransform.h>
39 #include <Inventor/nodes/SoMaterial.h>
40 #include <Inventor/nodes/SoDrawStyle.h>
41 #include <Inventor/nodes/SoSwitch.h>
42 #include <Inventor/nodes/SoLineSet.h>
43 #include <Inventor/nodes/SoPickStyle.h>
44 #include <Inventor/nodes/SoVertexProperty.h>
45 #include <Inventor/SoPath.h>
46 
47 #include <map>
48 
49 //Fixme: Update visuals if any detail level changes!
50 
51 //____________________________________________________________________
53 public:
55  PRDSysCommonData * common = nullptr;
59 
60  InDetProjFlags::InDetProjPartsFlags idprojflags_pixel;
61  InDetProjFlags::InDetProjPartsFlags idprojflags_sct;
62  InDetProjFlags::InDetProjPartsFlags idprojflags_trt;
64 
65  SoSeparator * multisel_sep = nullptr;
67  while (multisel_sep&&multisel_sep->getNumChildren()>2)
68  multisel_sep->removeChild(2);
69  }
70 
71  QList<PRDHandleBase*> currentlySelectedHandles;
72  QList<const Trk::PrepRawData*> lastEmittedPRDList;
74  currentlySelectedHandles.removeAll(0);//just to be sure
76 
77  //Proper highlighting:
78  if (selNode_highlight) {
79  selNode_highlight->deselectAll();
81  // theclass->messageDebug("Highlighting handle...");
82  SoSeparator* target = handle->collHandle()->simpleDetailLevel() ? handle->sepSimple() : handle->sepDetailed();
83  SoPath * path = new SoPath(selNode_highlight);
84  path->ref();
85  // theclass->messageDebug("Attempting to highlight sep="+str(target));
87  theclass->message("ERROR: Failed to relocate picked node.");
88  path->unref();
89  continue;
90  }
91  selNode_highlight->select(path);
92  path->unref();
93  }
94  selNode_highlight->touch();
96  SoLineSet * line = new SoLineSet;
97  SoVertexProperty * vertices = new SoVertexProperty;
98  line->vertexProperty = vertices;
99  line->numVertices.set1Value(0,currentlySelectedHandles.count());
100  int i(0);
102  Amg::Vector3D pos(handle->center());
103  vertices->vertex.set1Value(i++,pos.x(),pos.y(),pos.z());
104  }
105  multisel_sep->addChild(line);
106  //Fixme: make this unpickable!!
107 
108  }
109  }
110 
111  //emit signal if appropriate:
112  QList<const Trk::PrepRawData*> currentPRDs;
113  for(int i = 0; i < currentlySelectedHandles.count(); ++i) {
115  const Trk::PrepRawData* prd1 = handle->getPRD();
116  const Trk::PrepRawData* prd2 = handle->getSecondPRD();
117  if (prd1&&currentPRDs.contains(prd1)) prd1 = 0;
118  if (prd2&&currentPRDs.contains(prd2)) prd2 = 0;
119  if (!prd2) {
120  if (!prd1)
121  continue;
122  currentPRDs << prd1;
123  } else {
124  //both prd1 and prd2 are non-zero and not in the list
125  //already. Which should be first? We order them by distance to
126  //the preceding or following prd.
127 
128  Amg::Vector3D p1(handle->positionPRD());
129  Amg::Vector3D p2(handle->positionSecondPRD());
130 
131  if (i>0) {
132  Amg::Vector3D prevpos = currentlySelectedHandles.at(i-1)->center();
133  if ((p1-prevpos).mag2()>(p2-prevpos).mag2()) {
134  //prd2 before prd1
135  currentPRDs << prd2;
136  currentPRDs << prd1;
137  } else {
138  //prd1 before prd2
139  currentPRDs << prd1;
140  currentPRDs << prd2;
141  }
142  } else {
143  if (i+1<currentlySelectedHandles.count()) {
144  Amg::Vector3D nextpos = currentlySelectedHandles.at(i+1)->center();
145  if ((p1-nextpos).mag2()>(p2-nextpos).mag2()) {
146  //prd1 before prd2
147  currentPRDs << prd1;
148  currentPRDs << prd2;
149  } else {
150  //prd2 before prd1
151  currentPRDs << prd2;
152  currentPRDs << prd1;
153  }
154  } else {
155  //Only this one. Just add them:
156  currentPRDs << prd1;
157  currentPRDs << prd2;
158  }
159  }
160  }
161  }
162  if (currentPRDs!=lastEmittedPRDList) {
163  lastEmittedPRDList = currentPRDs;
164  theclass->messageVerbose("Emitting list of "+str(lastEmittedPRDList.count())+" selected PRDs");
166  }
167  }
168 
169  template <class T>
170  QList<PRDCollHandleBase*> createSpecificCollections() {
171  QList<PRDCollHandleBase*> l;
172  for (QString name : T::availableCollections(theclass)) {
173  T * col = new T(common,name);
174  col->init();
175  l << col;
176  }
177  return l;
178  }
179  QList<PRDCollHandleBase*> createCollections() {
180  QList<PRDCollHandleBase*> l;
181  l << createSpecificCollections<PRDCollHandle_Pixel>();
182  l << createSpecificCollections<PRDCollHandle_SCT>();
183  l << createSpecificCollections<PRDCollHandle_TRT>();
184  l << createSpecificCollections<PRDCollHandle_SpacePoints>();
185  l << createSpecificCollections<PRDCollHandle_CSC>();
186  l << createSpecificCollections<PRDCollHandle_CSC_Strip>();
187  l << createSpecificCollections<PRDCollHandle_MDT>();
188  l << createSpecificCollections<PRDCollHandle_MM>();
189  l << createSpecificCollections<PRDCollHandle_RPC>();
190  l << createSpecificCollections<PRDCollHandle_TGC>();
191  l << createSpecificCollections<PRDCollHandle_sTGC>();
192  return l;
193  }
194 
196  if (!common) {
199  }
200  }
201 };
202 
203 //_____________________________________________________________________________________
205 : IVP13DSystemSimple("Hits",
206  "System showing tracking hits (PRD's)",
207  "Edward.Moyse@cern.ch, Thomas.Kittelmann@cern.ch"), m_d(new Imp)
208 {
209  m_d->theclass = this;
210  m_d->common = 0;
211  m_d->controller = 0;
216  m_d->selNode_click = 0;
217  m_d->selNode_highlight = 0;
218  m_d->multisel_sep = 0;
219 
220 }
221 
222 //_____________________________________________________________________________________
224 {
225  delete m_d;
226 }
227 
228 //_____________________________________________________________________________________
230 {
231  messageVerbose("systemcreate");
233  message("Error: Can't retrieve MuonDetectorManager. Expect reduced performance and functionality.");//Fixme: Only if any muon collections are present!
235 }
236 
237 //_____________________________________________________________________________________
239 {
240  if (m_d->multisel_sep) {
241  m_d->multisel_sep->unref();
242  m_d->multisel_sep=0;
243  }
244 
245  delete m_d->common; m_d->common = 0;
246  m_d->controller = 0;
247 }
248 
249 //_____________________________________________________________________________________
251 {
252  messageVerbose("systemerase");
253 
254  deselectAll();
255 
257 
259 
260  if (m_d->selNode_click) {
263  m_d->selNode_click->unref();
264  m_d->selNode_click=0;
265  m_d->selNode_highlight->unref();
267  }
268 
270 
271 }
272 
273 //_____________________________________________________________________________________
274 void VP1PrepRawDataSystem::buildPermanentSceneGraph(StoreGateSvc* /*detstore*/, SoSeparator * /*root*/)
275 {
276  messageVerbose("buildPermanentSceneGraph (does not do anything)");
277 }
278 
279 //_____________________________________________________________________________________
281 {
282  messageVerbose("buildEventSceneGraph");
283 
284  // set complexity to a lower value, so that e.g. the straws are manageable
285  SoComplexity * complexity = new SoComplexity;
286  complexity->value.setValue(0.3f);//Fixme: Hardcoded here and elsewhere
287  root->addChild(complexity);
288 
289  // //Point sizes and line widths:
290  // root->addChild(m_d->controller->prdDrawStyle());
291 
292  //Create collection list based on contents of event store, inform
293  //about projections, populate gui and apply states:
294  QList<PRDCollHandleBase*> cols = m_d->createCollections();
295 
296  //Inform about appropriate projects:
297  for (PRDCollHandleBase* col : cols) {
298 
299  connect(col,SIGNAL(detailLevelChanged()),this,SLOT(updateSelectionVisualsAndPossiblyEmitPRDList()));
300 
301  PRDCollHandle_MDT* mdtcol = dynamic_cast<PRDCollHandle_MDT*>(col);
302  if (mdtcol) {
304  continue;
305  }
306 
307  PRDCollHandle_TRT* trtcol = dynamic_cast<PRDCollHandle_TRT*>(col);
308  if (trtcol) {
309  trtcol->setAppropriateProjection(m_d->idprojflags_trt);//NB: Add for pixel/sct as well once supported!
310  continue;
311  }
312 
313  }
314 
316 
317 
318  //Add collections to event scenegraph:
320  m_d->selNode_click->ref();
322  m_d->selNode_highlight->ref();
325  m_d->selNode_click->policy = SoCooperativeSelection::SINGLE;
326  m_d->selNode_highlight->policy = SoCooperativeSelection::SINGLE;
327 
329  m_d->selNode_click->addChild(col->collSwitch());
330  m_d->selNode_highlight->addChild(m_d->selNode_click);
331  root->addChild(m_d->selNode_highlight);
332 
335 
336  if (!m_d->multisel_sep) {
337  m_d->multisel_sep = new SoSeparator;
338  m_d->multisel_sep->ref();
339  SoPickStyle * ps = new SoPickStyle;
340  ps->style= SoPickStyle::UNPICKABLE;
341  m_d->multisel_sep->addChild(ps);
343  }
344  root->addChild(m_d->multisel_sep);
345 
346 
347  messageVerbose("buildEventSceneGraph done");
348 
349 }
350 
351 
352 //_____________________________________________________________________________________
354 {
355  if (exception_sel)
356  message("WARNING: The PRD system always deselects all registered nodes/");
358  m_d->currentlySelectedHandles.clear();
360 }
361 
362 //_____________________________________________________________________________________
364 {
366 }
367 
368 //_____________________________________________________________________________________
370 {
371  messageVerbose("clearSelection");
372  deselectAll();
373 }
374 
375 //_____________________________________________________________________________________
377 {
378  messageVerbose("selectionModeChanged");
379  deselectAll();
380 }
381 
382 //_____________________________________________________________________________________
384 {
385  messageVerbose("updateSelectionVisualsAndPossiblyEmitPRDList");
387 }
388 
389 //_____________________________________________________________________________________
391 {
392  messageVerbose("userPickedNode");
393 }
394 
395 //_____________________________________________________________________________________
397 {
398  if (m_d->selNode_highlight==sel)
399  return;
400  messageVerbose("userSelectedSingleNode");
401  PRDHandleBase * handle = m_d->common->pickedPathToHandle(pickedPath);//This also pops the path, so that all shape nodes
402  //making up the whole shape will be highlighted
403  sel->deselectAll();
404 
405  if (!handle) {
406  deselectAll();
407  message("Error: Could not identify picked node");
408  return;
409  }
410 
412  if (m_d->currentlySelectedHandles.count()==1&&*(m_d->currentlySelectedHandles.begin())==handle)
413  return;
414  m_d->currentlySelectedHandles.clear();
415  m_d->currentlySelectedHandles<<handle;
417  messageVerbose("emits prdInMuonChamberSelected");
419  } else if (m_d->controller->zoomOnClick()) {
420  std::set<SoCamera*> cameras(getCameraList());
421  std::set<SoCamera*>::iterator it,itE = cameras.end();
422  for (it=cameras.begin();it!=itE;++it)
423  VP1CameraHelper::animatedZoomToPath(*it,handle->collHandle()->collSep(),pickedPath,2.0,1.0);
424  }
425  if (m_d->controller->printInfoOnClick()) {
426  for (QString line : handle->clicked())
427  message(line);
428  }
429  } else {
430  if (m_d->currentlySelectedHandles.contains(handle)) {
431  m_d->currentlySelectedHandles.removeAll(handle);
432  } else {
433  m_d->currentlySelectedHandles << handle;
434  }
435  }
436 
438 
439 }
440 
441 //_____________________________________________________________________________________
443 {
444  if (m_d->selNode_highlight==sel)
445  return;
446  // messageVerbose("userDeselectedSingleNode");
447 }
448 
449 //_____________________________________________________________________________________
451 {
452  if (m_d->selNode_highlight==sel)
453  return;
454  messageVerbose("userChangedSelection");
455 }
456 
457 //_____________________________________________________________________________________
459 {
460  messageVerbose("userClickedOnBgd");
462  m_d->currentlySelectedHandles.clear();
464  }
465 }
466 
467 
468 //_____________________________________________________________________________________
470 {
471  messageVerbose("buildController");
472  m_d->controller = new PRDSystemController(this);
473 
474  messageVerbose("Passing ID projection settings on to collWidget");
475 
476  connect(m_d->controller,SIGNAL(selectionModeMultipleChanged(bool)),this,SLOT(selectionModeChanged()));
477  connect(m_d->controller,SIGNAL(showSelectionLineChanged(bool)),this,SLOT(selectionVisualsChanged()));
478  connect(m_d->controller,SIGNAL(clearSelection()),this,SLOT(clearSelection()));
479 
480  connect(m_d->controller,SIGNAL(inDetPartsUsingProjectionsChanged(InDetProjFlags::DetTypeFlags)),
481  this,SLOT(emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)));
482  InDetProjFlags::DetTypeFlags f = m_d->controller->inDetPartsUsingProjections();
483  if ( f != InDetProjFlags::NoDet)
484  emitUsedIDProjectionsChanged(f);//Fixme: Check that this is actually sufficiently late for the guideline sys!!!
485 
486  return m_d->controller;
487 }
488 
489 //_____________________________________________________________________________________
491 
492  VP1Serialise serialise(0/*version*/,this);
494 
496 
499 
500  serialise.disableUnsavedChecks();//We do the testing in the controller
501  return serialise.result();
502 }
503 
504 //_____________________________________________________________________________________
506  //Version & base state:
507  VP1Deserialise state(ba,this);
508  if (state.version()!=0) {
509  message("Warning: State data in .vp1 file is in wrong format - ignoring!");
510  return;
511  }
513 
514  IVP13DSystemSimple::restoreFromState(state.restoreByteArray());
515 
516  m_d->controller->restoreSettings(state.restoreByteArray());
517  state.restore(m_d->controller->collWidget());//We do the testing in the controller
518 
519  state.disableUnrestoredChecks();//We do the testing in the controller
520 }
521 
522 //_____________________________________________________________________________________
523 void VP1PrepRawDataSystem::visibleTracksChanged(const std::vector< std::pair<const Trk::Track*, const SoMaterial*> >& tracks)
524 {
526  if (!m_d->common)
527  return;//for signals received after uncreate
530 }
531 
532 //_____________________________________________________________________________________
533 void VP1PrepRawDataSystem::visibleSegmentsChanged(const std::vector< std::pair<const Trk::Segment*, const SoMaterial*> >& segments)
534 {
536  if (!m_d->common)
537  return;//for signals received after uncreate
540 }
541 
542 //_____________________________________________________________________________________
543 void VP1PrepRawDataSystem::emitTouchedMuonChambersChanged(const std::set<GeoPVConstLink>& s)
544 {
545  messageVerbose("emits touchedMuonChambersChanged (ntouchedchambers="+QString::number(s.size())+")");
547 }
548 
549 //_____________________________________________________________________________________
550 void VP1PrepRawDataSystem::emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags f)
551 {
552  messageVerbose("emits usedIDProjectionsChanged");
554 }
555 
556 //_____________________________________________________________________________________
558 {
559  if (m_d->appropriatemdtprojection==iproj)
560  return;
561  m_d->appropriatemdtprojection = iproj;
562  if (!m_d->controller)
563  return;//applied upon creation of collections instead
565  mdtcol->setAppropriateProjection( m_d->appropriatemdtprojection );
566 
567 }
568 
569 //_____________________________________________________________________________________
570 void VP1PrepRawDataSystem::setApplicableIDProjections( InDetProjFlags::InDetProjPartsFlags pixel,
571  InDetProjFlags::InDetProjPartsFlags sct,
572  InDetProjFlags::InDetProjPartsFlags trt )
573 {
574  messageVerbose("Signal received in setApplicableProjections (from "
575  +QString(sender()?sender()->objectName():"NULL sender")+")");
577  return;
578  }
579 
581  m_d->idprojflags_trt = trt;
582  m_d->idprojflags_sct = sct;
583 
584  if (!m_d->controller)
585  return;//applied upon creation of collections instead
586 
588  trtcol->setAppropriateProjection(m_d->idprojflags_trt);
589 
590  //NB: Add for pixel/sct as well once supported!
591 
592 }
593 
594 //_____________________________________________________________________________________
595 void VP1PrepRawDataSystem::muonChambersWithTracksChanged(const std::set<GeoPVConstLink>& chambers)
596 {
597  messageVerbose("muonChambersWithTracksChanged : received "+str(chambers.size())+" chambers.");
598 
599  // //Update map of touched chamber lists:
600  // bool listChanged(m_d->sender2ChamberList.find(sender())!=m_d->sender2ChamberList.end()?
601  // (chambers != m_d->sender2ChamberList[sender()]):true);
602  // m_d->sender2ChamberList[sender()] = chambers;
603 
604  //Trigger update if list changed and in auto mode:
605  // if ( listChanged && m_d->controller->limitToActiveChambers() )
606  // message("Limittoactivechambers - not yet implemented");
610  else
611  message("muonChambersWithTracksChanged - helpers not yet created!");
612 }
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
VP1Serialise.h
SoCooperativeSelection::INERT
@ INERT
Definition: SoCooperativeSelection.h:41
PRDCollHandle_TRT.h
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
VP1PrepRawDataSystem::deselectAll
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
Definition: VP1PrepRawDataSystem.cxx:353
TouchedMuonChamberHelper::updateTouchedByTracks
void updateTouchedByTracks(const std::set< GeoPVConstLink > &)
Definition: TouchedMuonChamberHelper.cxx:109
checkFileSG.line
line
Definition: checkFileSG.py:75
VP1PrepRawDataSystem::Imp::appropriatemdtprojection
int appropriatemdtprojection
Definition: VP1PrepRawDataSystem.cxx:63
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
VP1Deserialise.h
VP1PrepRawDataSystem::systemuncreate
void systemuncreate()
Definition: VP1PrepRawDataSystem.cxx:238
VP1Serialise
Definition: VP1Serialise.h:45
IVP13DSystemSimple
Definition: IVP13DSystemSimple.h:24
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:126
PRDCollHandle_MM.h
VP1PrepRawDataSystem::buildEventSceneGraph
void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)
Definition: VP1PrepRawDataSystem.cxx:280
RoiUtil::serialise
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors
Definition: RoiSerialise.cxx:45
VP1PrepRawDataSystem::selectionVisualsChanged
void selectionVisualsChanged()
Definition: VP1PrepRawDataSystem.cxx:363
VP1PrepRawDataSystem::Imp::idprojflags_trt
InDetProjFlags::InDetProjPartsFlags idprojflags_trt
Definition: VP1PrepRawDataSystem.cxx:62
PRDSystemController::collWidget
VP1CollectionWidget * collWidget() const
Definition: PRDSystemController.cxx:282
PRDSysCommonData::touchedMuonChamberHelper
TouchedMuonChamberHelper * touchedMuonChamberHelper() const
Definition: PRDSysCommonData.h:86
VP1PrepRawDataSystem::userSelectedSingleNode
void userSelectedSingleNode(SoCooperativeSelection *, SoNode *, SoPath *)
Definition: VP1PrepRawDataSystem.cxx:396
VP1PrepRawDataSystem::appropriateMDTProjectionsChanged
void appropriateMDTProjectionsChanged(int)
Definition: VP1PrepRawDataSystem.cxx:557
VP1PrepRawDataSystem::selectionModeChanged
void selectionModeChanged()
Definition: VP1PrepRawDataSystem.cxx:376
VP1PrepRawDataSystem::userDeselectedSingleNode
void userDeselectedSingleNode(SoCooperativeSelection *, SoNode *, SoPath *)
Definition: VP1PrepRawDataSystem.cxx:442
VP1PrepRawDataSystem::buildPermanentSceneGraph
void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
Definition: VP1PrepRawDataSystem.cxx:274
PRDTrackSegmentHelper.h
VP1CameraHelper.h
PRDHandleBase::collHandle
PRDCollHandleBase * collHandle() const
Definition: PRDHandleBase.cxx:228
VP1PrepRawDataSystem::Imp::common
PRDSysCommonData * common
Definition: VP1PrepRawDataSystem.cxx:55
PRDSystemController
Definition: PRDSystemController.h:34
fillPileUpNoiseLumi.connect
string connect
Definition: fillPileUpNoiseLumi.py:70
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
PRDHandleBase::positionPRD
Amg::Vector3D positionPRD() const
Definition: PRDHandleBase.cxx:303
SoCooperativeSelection::activePolicy
SoSFEnum activePolicy
Definition: SoCooperativeSelection.h:49
skel.it
it
Definition: skel.GENtoEVGEN.py:423
VP1PrepRawDataSystem::buildController
virtual QWidget * buildController()
Definition: VP1PrepRawDataSystem.cxx:469
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
VP1PrepRawDataSystem::updateSelectionVisualsAndPossiblyEmitPRDList
void updateSelectionVisualsAndPossiblyEmitPRDList()
Definition: VP1PrepRawDataSystem.cxx:383
PRDCollHandle_MDT.h
VP1PrepRawDataSystem::Imp::idprojflags_pixel
InDetProjFlags::InDetProjPartsFlags idprojflags_pixel
Definition: VP1PrepRawDataSystem.cxx:60
VP1PrepRawDataSystem::Imp::createSpecificCollections
QList< PRDCollHandleBase * > createSpecificCollections()
Definition: VP1PrepRawDataSystem.cxx:170
VP1PrepRawDataSystem::Imp::currentlySelectedHandles
QList< PRDHandleBase * > currentlySelectedHandles
Definition: VP1PrepRawDataSystem.cxx:71
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
VP1CollectionWidget::clear
void clear(bool deleteCollections=true, bool deleteGuiElements=false)
Definition: VP1CollectionWidget.cxx:81
PRDSysCommonData
Definition: PRDSysCommonData.h:35
VP1PrepRawDataSystem::muonChambersWithTracksChanged
void muonChambersWithTracksChanged(const std::set< GeoPVConstLink > &)
Definition: VP1PrepRawDataSystem.cxx:595
PRDCollHandle_TGC.h
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
PRDSysCommonData.h
VP1Controller::saveSettings
QByteArray saveSettings() const
Definition: VP1Controller.cxx:405
PRDSystemController::printInfoOnClick
bool printInfoOnClick() const
Definition: PRDSystemController.cxx:348
VP1PrepRawDataSystem::~VP1PrepRawDataSystem
virtual ~VP1PrepRawDataSystem()
Definition: VP1PrepRawDataSystem.cxx:223
PRDHandleBase::clicked
virtual QStringList clicked() const
Definition: PRDHandleBase.cxx:276
VP1CollectionWidget::setCollections
void setCollections(QList< VP1Collection * >, bool applySavedStates=true)
Definition: VP1CollectionWidget.cxx:258
TruthTest.itE
itE
Definition: TruthTest.py:25
VP1PrepRawDataSystem::m_d
Imp * m_d
Definition: VP1PrepRawDataSystem.h:75
VP1PrepRawDataSystem::Imp::clearMultiSelLine
void clearMultiSelLine()
Definition: VP1PrepRawDataSystem.cxx:66
VP1CollectionWidget.h
VP1PrepRawDataSystem::Imp::createCollections
QList< PRDCollHandleBase * > createCollections()
Definition: VP1PrepRawDataSystem.cxx:179
VP1PrepRawDataSystem::visibleSegmentsChanged
void visibleSegmentsChanged(const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > &)
Definition: VP1PrepRawDataSystem.cxx:533
IVP1System::state
State state() const
Definition: IVP1System.cxx:129
IVP1System::saveState
virtual QByteArray saveState()
Definition: IVP1System.cxx:294
VP1PrepRawDataSystem::Imp::controller
PRDSystemController * controller
Definition: VP1PrepRawDataSystem.cxx:56
VP1QtInventorUtils.h
VP1DetInfo.h
PRDCollHandle_RPC.h
VP1PrepRawDataSystem::systemerase
void systemerase()
Definition: VP1PrepRawDataSystem.cxx:250
PRDCollHandleBase
Definition: PRDCollHandleBase.h:25
IVP13DSystem::registerSelectionNode
void registerSelectionNode(SoCooperativeSelection *)
Definition: IVP13DSystem.cxx:257
VP1PrepRawDataSystem::systemcreate
void systemcreate(StoreGateSvc *detstore)
Definition: VP1PrepRawDataSystem.cxx:229
beamspotnt.cols
list cols
Definition: bin/beamspotnt.py:1114
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
VP1PrepRawDataSystem::emitUsedIDProjectionsChanged
void emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)
Definition: VP1PrepRawDataSystem.cxx:550
VP1Controller::restoreSettings
void restoreSettings(QByteArray)
Definition: VP1Controller.cxx:387
VP1PrepRawDataSystem::userPickedNode
void userPickedNode(SoNode *pickedNode, SoPath *pickedPath)
Definition: VP1PrepRawDataSystem.cxx:390
VP1PrepRawDataSystem::emitTouchedMuonChambersChanged
void emitTouchedMuonChambersChanged(const std::set< GeoPVConstLink > &)
Definition: VP1PrepRawDataSystem.cxx:543
lumiFormat.i
int i
Definition: lumiFormat.py:92
VP1PrepRawDataSystem::Imp::selectionChanged
void selectionChanged()
Definition: VP1PrepRawDataSystem.cxx:73
VP1PrepRawDataSystem::restoreFromState
void restoreFromState(QByteArray)
Definition: VP1PrepRawDataSystem.cxx:505
PRDSysCommonData::clearEventData
void clearEventData()
Definition: PRDSysCommonData.cxx:81
VP1PrepRawDataSystem
Definition: VP1PrepRawDataSystem.h:26
PRDHandleBase::getSecondPRD
virtual const Trk::PrepRawData * getSecondPRD() const
Definition: PRDHandleBase.h:73
PRDHandleBase::parentMuonChamberPV
virtual GeoPVConstLink parentMuonChamberPV() const
Definition: PRDHandleBase.h:68
sel
sel
Definition: SUSYToolsTester.cxx:92
PRDTrackSegmentHelper::visibleTracksChanged
void visibleTracksChanged(const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > &)
Definition: PRDTrackSegmentHelper.cxx:98
VP1PrepRawDataSystem::clearSelection
void clearSelection()
Definition: VP1PrepRawDataSystem.cxx:369
PRDSystemController::showSelectionLine
bool showSelectionLine() const
Definition: PRDSystemController.cxx:614
IVP1System::name
const QString & name() const
Definition: IVP1System.cxx:50
IVP13DSystemSimple::ensureBuildController
void ensureBuildController()
Definition: IVP13DSystemSimple.cxx:90
VP1CollectionWidget::collections
QList< VP1Collection * > collections() const
Definition: VP1CollectionWidget.cxx:61
PRDHandleBase::positionSecondPRD
Amg::Vector3D positionSecondPRD() const
Definition: PRDHandleBase.cxx:309
VP1Deserialise
Definition: VP1Deserialise.h:44
PRDCollHandle_MDT
Definition: PRDCollHandle_MDT.h:11
PRDCollHandle_CSC.h
PRDCollHandle_SpacePoints.h
VP1PrepRawDataSystem::Imp::multisel_sep
SoSeparator * multisel_sep
Definition: VP1PrepRawDataSystem.cxx:65
Trk::PrepRawData
Definition: PrepRawData.h:62
SoCooperativeSelection::ACTIVE
@ ACTIVE
Definition: SoCooperativeSelection.h:41
SoCooperativeSelection.h
PRDHandleBase::getPRD
virtual const Trk::PrepRawData * getPRD() const =0
python.selection.number
number
Definition: selection.py:20
VP1PrepRawDataSystem::VP1PrepRawDataSystem
VP1PrepRawDataSystem()
Definition: VP1PrepRawDataSystem.cxx:204
VP1PrepRawDataSystem::prdInMuonChamberSelected
void prdInMuonChamberSelected(const GeoPVConstLink &chamberPV)
PRDSystemController.h
PRDCollHandle_TRT::setAppropriateProjection
void setAppropriateProjection(InDetProjFlags::InDetProjPartsFlags)
Definition: PRDCollHandle_TRT.cxx:278
VP1PrepRawDataSystem::userChangedSelection
void userChangedSelection(SoCooperativeSelection *, QSet< SoNode * >, QSet< SoPath * >)
Definition: VP1PrepRawDataSystem.cxx:450
VP1PrepRawDataSystem::Imp::theclass
VP1PrepRawDataSystem * theclass
Definition: VP1PrepRawDataSystem.cxx:54
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
query_example.col
col
Definition: query_example.py:7
VP1PrepRawDataSystem::setApplicableIDProjections
void setApplicableIDProjections(InDetProjFlags::InDetProjPartsFlags pixel, InDetProjFlags::InDetProjPartsFlags sct, InDetProjFlags::InDetProjPartsFlags trt)
Definition: VP1PrepRawDataSystem.cxx:570
PRDSystemController::inDetPartsUsingProjections
InDetProjFlags::DetTypeFlags inDetPartsUsingProjections() const
Definition: PRDSystemController.cxx:564
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
PRDSystemController::zoomOnClick
bool zoomOnClick() const
Definition: PRDSystemController.cxx:354
VP1PrepRawDataSystem::Imp
Definition: VP1PrepRawDataSystem.cxx:52
InDetProjFlags::NoDet
@ NoDet
Definition: InDetProjFlags.h:28
VP1DetInfo::muonDetMgr
static const MuonGM::MuonDetectorManager * muonDetMgr()
Definition: VP1DetInfo.cxx:148
IVP13DSystem::getCameraList
CamList getCameraList()
Definition: IVP13DSystem.cxx:395
VP1PrepRawDataSystem::Imp::idprojflags_sct
InDetProjFlags::InDetProjPartsFlags idprojflags_sct
Definition: VP1PrepRawDataSystem.cxx:61
PRDSysCommonData::pickedPathToHandle
PRDHandleBase * pickedPathToHandle(SoPath *pickedPath)
Definition: PRDSysCommonData.cxx:109
PRDSysCommonData::controller
PRDSystemController * controller() const
Definition: PRDSysCommonData.h:80
IVP13DSystem::unregisterSelectionNode
void unregisterSelectionNode(SoCooperativeSelection *)
Definition: IVP13DSystem.cxx:281
VP1PrepRawDataSystem::selectedPRDsChanged
void selectedPRDsChanged(const QList< const Trk::PrepRawData * > &)
VP1PrepRawDataSystem::Imp::selNode_highlight
SoCooperativeSelection * selNode_highlight
Definition: VP1PrepRawDataSystem.cxx:58
VP1StdCollection::collSep
SoSeparator * collSep() const
All 3D objects from this coll.
Definition: VP1StdCollection.cxx:212
VP1PrepRawDataSystem::touchedMuonChambersChanged
void touchedMuonChambersChanged(const std::set< GeoPVConstLink > &)
PRDSysCommonData::trackAndSegmentHelper
PRDTrackSegmentHelper * trackAndSegmentHelper() const
Definition: PRDSysCommonData.h:87
VP1PrepRawDataSystem::userClickedOnBgd
void userClickedOnBgd()
Definition: VP1PrepRawDataSystem.cxx:458
PRDSystemController::getMultiSelectionLineMaterial
SoMaterial * getMultiSelectionLineMaterial() const
Definition: PRDSystemController.cxx:317
VP1PrepRawDataSystem.h
PRDSystemController::selectionModeMultiple
bool selectionModeMultiple() const
Definition: PRDSystemController.cxx:608
VP1PrepRawDataSystem::usedIDProjectionsChanged
void usedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)
VP1PrepRawDataSystem::saveState
QByteArray saveState()
Definition: VP1PrepRawDataSystem.cxx:490
VP1JobConfigInfo.h
PRDHandleBase
Definition: PRDHandleBase.h:35
PRDCollHandle_CSC_Strip.h
VP1StdCollection
Definition: VP1StdCollection.h:31
TouchedMuonChamberHelper.h
COOLRates.target
target
Definition: COOLRates.py:1106
PRDCollHandle_MDT::setAppropriateProjection
void setAppropriateProjection(int)
Definition: PRDCollHandle_MDT.cxx:261
PRDTrackSegmentHelper::visibleSegmentsChanged
void visibleSegmentsChanged(const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > &)
Definition: PRDTrackSegmentHelper.cxx:179
InDetProjFlags::NoProjections
@ NoProjections
Definition: InDetProjFlags.h:49
PRDSystemController::muonOrientToChambersOnClick
bool muonOrientToChambersOnClick() const
Definition: PRDSystemController.cxx:360
PRDHandleBase::inMuonChamber
virtual bool inMuonChamber() const
Definition: PRDHandleBase.h:67
mag2
Scalar mag2() const
mag2 method - forward to squaredNorm()
Definition: AmgMatrixBasePlugin.h:30
VP1JobConfigInfo::hasMuonGeometry
static bool hasMuonGeometry()
Definition: VP1JobConfigInfo.cxx:134
VP1PrepRawDataSystem::Imp::lastEmittedPRDList
QList< const Trk::PrepRawData * > lastEmittedPRDList
Definition: VP1PrepRawDataSystem.cxx:72
VP1PrepRawDataSystem::Imp::ensureInitCommonData
void ensureInitCommonData()
Definition: VP1PrepRawDataSystem.cxx:195
PRDCollHandle_sTGC.h
PRDCollHandle_SCT.h
PRDCollHandle_Pixel.h
VP1QtInventorUtils::changePathTail
static bool changePathTail(SoPath *path, SoNode *commonBranchPoint, SoNode *newtail)
Definition: VP1QtInventorUtils.cxx:1346
IVP1System::message
void message(const QString &) const
Definition: IVP1System.cxx:336
VP1PrepRawDataSystem::visibleTracksChanged
void visibleTracksChanged(const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > &)
Definition: VP1PrepRawDataSystem.cxx:523
IVP13DSystem::deselectAll
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
Definition: IVP13DSystem.cxx:331
SiliconTech::pixel
@ pixel
IVP1System::messageVerbose
void messageVerbose(const QString &) const
Definition: IVP1System.cxx:354
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
PRDHandleBase.h
PRDCollHandle_TRT
Definition: PRDCollHandle_TRT.h:12
common
Definition: common.py:1
SoCooperativeSelection
Definition: SoCooperativeSelection.h:29
VP1PrepRawDataSystem::Imp::selNode_click
SoCooperativeSelection * selNode_click
Definition: VP1PrepRawDataSystem.cxx:57
IVP1System::restoreFromState
virtual void restoreFromState(QByteArray)
Definition: IVP1System.cxx:302