|
ATLAS Offline Software
|
Go to the documentation of this file.
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>
82 SoSeparator*
target = handle->collHandle()->simpleDetailLevel() ? handle->sepSimple() : handle->sepDetailed();
96 SoLineSet *
line =
new SoLineSet;
97 SoVertexProperty * vertices =
new SoVertexProperty;
98 line->vertexProperty = vertices;
103 vertices->vertex.set1Value(
i++,
pos.x(),
pos.y(),
pos.z());
112 QList<const Trk::PrepRawData*> currentPRDs;
117 if (prd1&¤tPRDs.contains(prd1)) prd1 = 0;
118 if (prd2&¤tPRDs.contains(prd2)) prd2 = 0;
171 QList<PRDCollHandleBase*>
l;
172 for (
const QString&
name : T::availableCollections(
theclass)) {
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>();
206 "System showing tracking hits (PRD's)",
207 "Edward.Moyse@cern.ch, Thomas.Kittelmann@cern.ch"), m_d(
new Imp)
233 message(
"Error: Can't retrieve MuonDetectorManager. Expect reduced performance and functionality.");
276 messageVerbose(
"buildPermanentSceneGraph (does not do anything)");
285 SoComplexity * complexity =
new SoComplexity;
286 complexity->value.setValue(0.3
f);
287 root->addChild(complexity);
339 SoPickStyle * ps =
new SoPickStyle;
340 ps->style= SoPickStyle::UNPICKABLE;
356 message(
"WARNING: The PRD system always deselects all registered nodes/");
407 message(
"Error: Could not identify picked node");
474 messageVerbose(
"Passing ID projection settings on to collWidget");
480 connect(
m_d->
controller,SIGNAL(inDetPartsUsingProjectionsChanged(InDetProjFlags::DetTypeFlags)),
508 if (
state.version()!=0) {
509 message(
"Warning: State data in .vp1 file is in wrong format - ignoring!");
519 state.disableUnrestoredChecks();
571 InDetProjFlags::InDetProjPartsFlags sct,
572 InDetProjFlags::InDetProjPartsFlags trt )
574 messageVerbose(
"Signal received in setApplicableProjections (from "
575 +QString(sender()?sender()->objectName():
"NULL sender")+
")");
597 messageVerbose(
"muonChambersWithTracksChanged : received "+
str(chambers.size())+
" chambers.");
611 message(
"muonChambersWithTracksChanged - helpers not yet created!");
JetConstituentVector::iterator iterator
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
void updateTouchedByTracks(const std::set< GeoPVConstLink > &)
int appropriatemdtprojection
path
python interpreter configuration --------------------------------------—
void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors
void selectionVisualsChanged()
InDetProjFlags::InDetProjPartsFlags idprojflags_trt
VP1CollectionWidget * collWidget() const
TouchedMuonChamberHelper * touchedMuonChamberHelper() const
void userSelectedSingleNode(SoCooperativeSelection *, SoNode *, SoPath *)
void appropriateMDTProjectionsChanged(int)
void selectionModeChanged()
void userDeselectedSingleNode(SoCooperativeSelection *, SoNode *, SoPath *)
void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
PRDCollHandleBase * collHandle() const
PRDSysCommonData * common
Amg::Vector3D positionPRD() const
virtual QWidget * buildController()
void restoreSettings(const QByteArray &)
void updateSelectionVisualsAndPossiblyEmitPRDList()
InDetProjFlags::InDetProjPartsFlags idprojflags_pixel
QList< PRDCollHandleBase * > createSpecificCollections()
QList< PRDHandleBase * > currentlySelectedHandles
static VP1CameraHelper * animatedZoomToPath(SoCamera *camera, SoGroup *sceneroot, SoPath *path, double duration_in_secs=1.0, double clipVolPercent=100.0, double slack=1.0, const SbVec3f &lookat=SbVec3f(999, 999, 999), const SbVec3f &upvec=SbVec3f(999, 999, 999), bool varySpeed=true, bool forceCircular=false)
void muonChambersWithTracksChanged(const std::set< GeoPVConstLink > &)
static QString str(const QString &s)
QByteArray saveSettings() const
bool printInfoOnClick() const
virtual ~VP1PrepRawDataSystem()
virtual QStringList clicked() const
QList< PRDCollHandleBase * > createCollections()
void visibleSegmentsChanged(const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > &)
virtual QByteArray saveState()
PRDSystemController * controller
void registerSelectionNode(SoCooperativeSelection *)
void systemcreate(StoreGateSvc *detstore)
The Athena Transient Store API.
void emitUsedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)
void userPickedNode(SoNode *pickedNode, SoPath *pickedPath)
void emitTouchedMuonChambersChanged(const std::set< GeoPVConstLink > &)
void restoreFromState(QByteArray)
virtual const Trk::PrepRawData * getSecondPRD() const
virtual GeoPVConstLink parentMuonChamberPV() const
void visibleTracksChanged(const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > &)
bool showSelectionLine() const
const QString & name() const
void ensureBuildController()
Amg::Vector3D positionSecondPRD() const
SoSeparator * multisel_sep
virtual const Trk::PrepRawData * getPRD() const =0
void prdInMuonChamberSelected(const GeoPVConstLink &chamberPV)
void setAppropriateProjection(InDetProjFlags::InDetProjPartsFlags)
void userChangedSelection(SoCooperativeSelection *, QSet< SoNode * >, QSet< SoPath * >)
VP1PrepRawDataSystem * theclass
Eigen::Matrix< double, 3, 1 > Vector3D
void setApplicableIDProjections(InDetProjFlags::InDetProjPartsFlags pixel, InDetProjFlags::InDetProjPartsFlags sct, InDetProjFlags::InDetProjPartsFlags trt)
InDetProjFlags::DetTypeFlags inDetPartsUsingProjections() const
static const MuonGM::MuonDetectorManager * muonDetMgr()
InDetProjFlags::InDetProjPartsFlags idprojflags_sct
PRDHandleBase * pickedPathToHandle(SoPath *pickedPath)
PRDSystemController * controller() const
void unregisterSelectionNode(SoCooperativeSelection *)
void selectedPRDsChanged(const QList< const Trk::PrepRawData * > &)
SoCooperativeSelection * selNode_highlight
SoSeparator * collSep() const
All 3D objects from this coll.
void touchedMuonChambersChanged(const std::set< GeoPVConstLink > &)
PRDTrackSegmentHelper * trackAndSegmentHelper() const
SoMaterial * getMultiSelectionLineMaterial() const
bool selectionModeMultiple() const
void usedIDProjectionsChanged(InDetProjFlags::DetTypeFlags)
void setAppropriateProjection(int)
void visibleSegmentsChanged(const std::vector< std::pair< const Trk::Segment *, const SoMaterial * > > &)
bool muonOrientToChambersOnClick() const
virtual bool inMuonChamber() const
Scalar mag2() const
mag2 method - forward to squaredNorm()
static bool hasMuonGeometry()
QList< const Trk::PrepRawData * > lastEmittedPRDList
void ensureInitCommonData()
static bool changePathTail(SoPath *path, SoNode *commonBranchPoint, SoNode *newtail)
void message(const QString &) const
void visibleTracksChanged(const std::vector< std::pair< const Trk::Track *, const SoMaterial * > > &)
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
void messageVerbose(const QString &) const
SoCooperativeSelection * selNode_click
virtual void restoreFromState(QByteArray)