ATLAS Offline Software
Loading...
Searching...
No Matches
VP1PrepRawDataSystem.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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
18class SoMaterial;
19namespace Trk
20{
21 class Track;
22 class Segment;
23 class PrepRawData;
24}
25
27
28 Q_OBJECT
29
30public:
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*, const 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
52public 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
61signals:
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
67private Q_SLOTS:
68 void emitTouchedMuonChambersChanged(const std::set<GeoPVConstLink>&);//for TouchedMuonChamberHelper
69 void emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags);//for controller
72 void clearSelection();
74private:
75 class Imp;
77};
78
79#endif
80
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)
The Athena Transient Store API.
Base class for all TrackSegment implementations, extends the common MeasurementBase.
void systemcreate(StoreGateSvc *detstore)
void userPickedNode(SoNode *pickedNode, SoPath *pickedPath)
void touchedMuonChambersChanged(const std::set< GeoPVConstLink > &)
void selectedPRDsChanged(const QList< const Trk::PrepRawData * > &)
void emitTouchedMuonChambersChanged(const std::set< GeoPVConstLink > &)
void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)
virtual QWidget * buildController()
void visibleSegmentsChanged(const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > &)
void userChangedSelection(SoCooperativeSelection *, const QSet< SoNode * > &, QSet< SoPath * >)
void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
void visibleTracksChanged(const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > &)
void emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)
void restoreFromState(QByteArray)
void userSelectedSingleNode(SoCooperativeSelection *, SoNode *, SoPath *)
void prdInMuonChamberSelected(const GeoPVConstLink &chamberPV)
void usedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)
void setApplicableIDProjections(InDetProjFlags::InDetProjPartsFlags pixel, InDetProjFlags::InDetProjPartsFlags sct, InDetProjFlags::InDetProjPartsFlags trt)
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
void muonChambersWithTracksChanged(const std::set< GeoPVConstLink > &)
void userDeselectedSingleNode(SoCooperativeSelection *, SoNode *, SoPath *)
Ensure that the ATLAS eigen extensions are properly loaded.