ATLAS Offline Software
Loading...
Searching...
No Matches
VertexSysController.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
7// //
8// Header file for class VertexSysController //
9// //
10// Description: Vertex system controller. //
11// //
12// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13// Initial version: July 2008 //
14// //
16
17#ifndef VERTEXSYSCONTROLLER_H
18#define VERTEXSYSCONTROLLER_H
19
22class SoGroup;
23
25
26 Q_OBJECT
27
28public:
29
31 virtual ~VertexSysController();
32
34 int currentSettingsVersion() const;
36
38
40 // Access Methods for settings //
42
43 SoGroup * drawOptions() const;
44
45 //Interactions (no change signals needed):
46 bool printInfoOnClick() const;
47 bool printVerboseInfoOnClick() const;
48 bool zoomOnClick() const;
49
50 //Truth cuts:
51 bool truthCutPrimaryVertexOnly() const;
52 QPair<VertexCommonFlags::QUANTITY,VP1Interval> truthCutQuantity() const;
54 QList<VP1Interval> truthCutAllowedPhi() const;//All off: empty list. All on: list with one entry: ]-inf,inf[
55
56 //Truth display options:
57 QPair<VertexCommonFlags::QUANTITY,double> truthCrossLength() const;//.second is either the fixed length (when <0),
58 //or the scale factor (to .first)
59
60 //Recon cuts:
61 VertexCommonFlags::ReconVertexTypeFlags reconCutAllowedTypes() const;
62
63 //Recon display options:
64 double reconVertexRepresentation() const;//<0: sphere of that radius, 0 a point, >0 ellipsoid with that many stddevs.
65
67 // Signals for changes in settings //
69signals:
70 void rerandomise();//This one doesn't have an access method, but is just emitted when needed.
72 void truthCutAllowedPhiChanged(const QList<VP1Interval>&);
74 void truthCutQuantityChanged(const QPair<VertexCommonFlags::QUANTITY,VP1Interval>&);
75 void truthCrossLengthChanged(QPair<VertexCommonFlags::QUANTITY,double>);
76 void reconCutAllowedTypesChanged(VertexCommonFlags::ReconVertexTypeFlags);
78
79private:
80 class Imp;
82 //For verbose output:
83 template <class T> static QString toString( const T& t ) { return VP1Controller::toString(t); }//unhide base methods
84 static QString toString( const VertexCommonFlags::QUANTITY& par ) { return VertexCommonFlags::toString(par); }
85 static QString toString( const QPair<VertexCommonFlags::QUANTITY,VP1Interval>& );
86 static QString toString( const QPair<VertexCommonFlags::QUANTITY,double>& );
87
88private Q_SLOTS:
89 void emitRerandomise();
97};
98
99#endif
static QString toString(const T &par)
VP1Controller(IVP1System *sys, const QString &classname)
static QString toString(const QUANTITY &)
QPair< VertexCommonFlags::QUANTITY, VP1Interval > truthCutQuantity() const
void truthCutPrimaryVertexOnlyChanged(bool)
void actualSaveSettings(VP1Serialise &) const
void possibleChange_truthCutPrimaryVertexOnly()
QList< VP1Interval > truthCutAllowedPhi() const
QPair< VertexCommonFlags::QUANTITY, double > truthCrossLength() const
void possibleChange_truthCutQuantity()
void possibleChange_truthCrossLength()
void possibleChange_truthCutAllowedPhi()
void reconVertexRepresentationChanged(const double &)
void truthCutQuantityChanged(const QPair< VertexCommonFlags::QUANTITY, VP1Interval > &)
double reconVertexRepresentation() const
void truthCrossLengthChanged(QPair< VertexCommonFlags::QUANTITY, double >)
VertexCommonFlags::ReconVertexTypeFlags reconCutAllowedTypes() const
VP1CollectionWidget * collWidget() const
void possibleChange_reconVertexRepresentation()
VertexSysController(IVP1System *sys)
void actualRestoreSettings(VP1Deserialise &)
VP1Interval truthCutAllowedEta() const
static QString toString(const VertexCommonFlags::QUANTITY &par)
void possibleChange_truthCutAllowedEta()
bool truthCutPrimaryVertexOnly() const
SoGroup * drawOptions() const
static QString toString(const T &t)
void truthCutAllowedEtaChanged(const VP1Interval &)
void reconCutAllowedTypesChanged(VertexCommonFlags::ReconVertexTypeFlags)
void truthCutAllowedPhiChanged(const QList< VP1Interval > &)
void possibleChange_reconCutAllowedTypes()