ATLAS Offline Software
VP1PrepRawDataSystem.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef VP1PREPRAWDATASYSTEM_H
6 #define VP1PREPRAWDATASYSTEM_H
7 
8 // GeoModel
10 //
11 #include "GeoModelKernel/GeoVPhysVol.h"
12 
15 #include <vector>
16 #include <QList>
17 
18 class SoMaterial;
19 namespace Trk
20 {
21  class Track;
22  class Segment;
23  class PrepRawData;
24 }
25 
27 
28  Q_OBJECT
29 
30 public:
32  virtual ~VP1PrepRawDataSystem();
33  void buildEventSceneGraph(StoreGateSvc* sg, SoSeparator *root);
34  void buildPermanentSceneGraph(StoreGateSvc* detstore, SoSeparator *root);//For TRT Projection surfaces
35  void systemcreate(StoreGateSvc* detstore);
36  void systemerase();
37  void systemuncreate();
38 
39  void userPickedNode(SoNode* pickedNode, SoPath * pickedPath);
40  void userSelectedSingleNode(SoCooperativeSelection*, SoNode* , SoPath*);//SINGLE
41  void userDeselectedSingleNode(SoCooperativeSelection*, SoNode* , SoPath*);//SINGLE
42  void userChangedSelection(SoCooperativeSelection*, QSet<SoNode*>, QSet<SoPath*>);//TOGGLE/SHIFT
43  void userClickedOnBgd();
44 
45  virtual void deselectAll(SoCooperativeSelection* exception_sel = 0);
46 
47  virtual QWidget * buildController();
48 
49  QByteArray saveState();
50  void restoreFromState(QByteArray);
51 
52 public Q_SLOTS:
53  void visibleTracksChanged(const std::vector< std::pair<const Trk::Track*, const SoMaterial*> >&);
54  void visibleSegmentsChanged(const std::vector< std::pair<const Trk::Segment*, const SoMaterial*> >&);
55  void appropriateMDTProjectionsChanged(int);//0: No projections, 1: Project to end of tubes, 2: Project to end of chamber volume.
56  void setApplicableIDProjections( InDetProjFlags::InDetProjPartsFlags pixel,
57  InDetProjFlags::InDetProjPartsFlags sct,
58  InDetProjFlags::InDetProjPartsFlags trt );
59  void muonChambersWithTracksChanged(const std::set<GeoPVConstLink>&);
60 
61 signals:
62  void touchedMuonChambersChanged(const std::set<GeoPVConstLink>&);//Fixme: Remember to emit in e.g. systemerase (is that automatic?)
63  void prdInMuonChamberSelected(const GeoPVConstLink& chamberPV);
64  void usedIDProjectionsChanged( InDetProjFlags::DetTypeFlags );
65  void selectedPRDsChanged(const QList<const Trk::PrepRawData*>&);
66 
67 private Q_SLOTS:
68  void emitTouchedMuonChambersChanged(const std::set<GeoPVConstLink>&);//for TouchedMuonChamberHelper
69  void emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags);//for controller
70  void selectionModeChanged();
72  void clearSelection();
74 private:
75  class Imp;
76  Imp * m_d;
77 };
78 
79 #endif
80 
VP1PrepRawDataSystem::deselectAll
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
Definition: VP1PrepRawDataSystem.cxx:353
VP1PrepRawDataSystem::systemuncreate
void systemuncreate()
Definition: VP1PrepRawDataSystem.cxx:238
IVP13DSystemSimple
Definition: IVP13DSystemSimple.h:24
VP1PrepRawDataSystem::buildEventSceneGraph
void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)
Definition: VP1PrepRawDataSystem.cxx:280
VP1PrepRawDataSystem::selectionVisualsChanged
void selectionVisualsChanged()
Definition: VP1PrepRawDataSystem.cxx:363
Trk::TrackState::Segment
@ Segment
Definition: TrackStateDefs.h:37
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
VP1PrepRawDataSystem::buildController
virtual QWidget * buildController()
Definition: VP1PrepRawDataSystem.cxx:469
VP1PrepRawDataSystem::updateSelectionVisualsAndPossiblyEmitPRDList
void updateSelectionVisualsAndPossiblyEmitPRDList()
Definition: VP1PrepRawDataSystem.cxx:383
sendEI_SPB.root
root
Definition: sendEI_SPB.py:34
IVP13DSystemSimple.h
VP1PrepRawDataSystem::muonChambersWithTracksChanged
void muonChambersWithTracksChanged(const std::set< GeoPVConstLink > &)
Definition: VP1PrepRawDataSystem.cxx:595
VP1PrepRawDataSystem::~VP1PrepRawDataSystem
virtual ~VP1PrepRawDataSystem()
Definition: VP1PrepRawDataSystem.cxx:223
VP1PrepRawDataSystem::m_d
Imp * m_d
Definition: VP1PrepRawDataSystem.h:75
VP1PrepRawDataSystem::visibleSegmentsChanged
void visibleSegmentsChanged(const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > &)
Definition: VP1PrepRawDataSystem.cxx:533
VP1PrepRawDataSystem::systemerase
void systemerase()
Definition: VP1PrepRawDataSystem.cxx:250
GeoPrimitives.h
VP1PrepRawDataSystem::systemcreate
void systemcreate(StoreGateSvc *detstore)
Definition: VP1PrepRawDataSystem.cxx:229
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
VP1PrepRawDataSystem::emitUsedIDProjectionsChanged
void emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)
Definition: VP1PrepRawDataSystem.cxx:550
VP1PrepRawDataSystem::userPickedNode
void userPickedNode(SoNode *pickedNode, SoPath *pickedPath)
Definition: VP1PrepRawDataSystem.cxx:390
VP1PrepRawDataSystem::emitTouchedMuonChambersChanged
void emitTouchedMuonChambersChanged(const std::set< GeoPVConstLink > &)
Definition: VP1PrepRawDataSystem.cxx:543
VP1PrepRawDataSystem::restoreFromState
void restoreFromState(QByteArray)
Definition: VP1PrepRawDataSystem.cxx:505
VP1PrepRawDataSystem
Definition: VP1PrepRawDataSystem.h:26
VP1PrepRawDataSystem::clearSelection
void clearSelection()
Definition: VP1PrepRawDataSystem.cxx:369
python.L1.Config.LegacyTopoMergerMap.signals
signals
Definition: LegacyTopoMergerMap.py:13
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
VP1PrepRawDataSystem::VP1PrepRawDataSystem
VP1PrepRawDataSystem()
Definition: VP1PrepRawDataSystem.cxx:204
VP1PrepRawDataSystem::prdInMuonChamberSelected
void prdInMuonChamberSelected(const GeoPVConstLink &chamberPV)
VP1PrepRawDataSystem::userChangedSelection
void userChangedSelection(SoCooperativeSelection *, QSet< SoNode * >, QSet< SoPath * >)
Definition: VP1PrepRawDataSystem.cxx:450
VP1PrepRawDataSystem::setApplicableIDProjections
void setApplicableIDProjections(InDetProjFlags::InDetProjPartsFlags pixel, InDetProjFlags::InDetProjPartsFlags sct, InDetProjFlags::InDetProjPartsFlags trt)
Definition: VP1PrepRawDataSystem.cxx:570
VP1PrepRawDataSystem::Imp
Definition: VP1PrepRawDataSystem.cxx:52
VP1PrepRawDataSystem::selectedPRDsChanged
void selectedPRDsChanged(const QList< const Trk::PrepRawData * > &)
InDetProjFlags.h
VP1PrepRawDataSystem::touchedMuonChambersChanged
void touchedMuonChambersChanged(const std::set< GeoPVConstLink > &)
VP1PrepRawDataSystem::userClickedOnBgd
void userClickedOnBgd()
Definition: VP1PrepRawDataSystem.cxx:458
VP1PrepRawDataSystem::usedIDProjectionsChanged
void usedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
VP1PrepRawDataSystem::saveState
QByteArray saveState()
Definition: VP1PrepRawDataSystem.cxx:490
VP1PrepRawDataSystem::visibleTracksChanged
void visibleTracksChanged(const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > &)
Definition: VP1PrepRawDataSystem.cxx:523
SiliconTech::pixel
@ pixel
SoCooperativeSelection
Definition: SoCooperativeSelection.h:29