ATLAS Offline Software
Loading...
Searching...
No Matches
VP1VertexCollection Class Reference

#include <VP1VertexCollection.h>

Inheritance diagram for VP1VertexCollection:
Collaboration diagram for VP1VertexCollection:

Classes

class  Imp

Public Types

enum  COLOURBY { COLOUR_PERCOLLECTION , COLOUR_RANDOM }

Public Slots

void recheckAllCuts ()
void updateAllShapes ()
void setVisible (bool)
void possibleChangeMatTranspOrBrightness ()

Signals

void tracksFromVertexChanged (QList< std::pair< const SoMaterial *, QList< const Trk::Track * > > > &)
void visibilityChanged (bool)

Public Member Functions

 VP1VertexCollection (VertexSysController *controller, const QString &key)
virtual ~VP1VertexCollection ()
void init (VP1MaterialButtonBase *mat=0)
QList< QWidget * > provideExtraWidgetsForGuiRow () const
QStringList infoOnClicked (SoPath *pickedPath)
COLOURBY colourBy () const
virtual COLOURBY defaultColourBy () const
void setColourBy (COLOURBY)
bool visible () const
bool isLoaded () const
bool problemsLoading () const
QString text () const
SoSwitch * collSwitch () const
 Add this somewhere in your scenegraph (do not add any children here!)
SoSeparator * collSep () const
 All 3D objects from this coll.
SoMaterial * material () const
double collMaterialTransparency () const
double collMaterialBrightness () const
virtual void largeChangesBegin ()
virtual void largeChangesEnd ()
virtual QByteArray persistifiableState () const
 Provide default implementation based on widget list + version.
virtual void setState (const QByteArray &)
 Provide default implementation based on widget list + version.
qint32 collTypeID () const
QByteArray persistifiableID () const
QString section () const
QString sectionToolTip () const
virtual QList< QWidget * > widgetsForGuiRow () const
void setSystemBasePointer (IVP1System *sys)
void message (const QString &) const
void message (const QStringList &, const QString &addtoend="") const
void message (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &) const
void messageDebug (const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &) const
void messageVerbose (const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &addtostart, const QStringList &, const QString &addtoend="") const
IVP1SystemsystemBase () const
const QString & helperClassName () const

Static Public Member Functions

static QList< VP1StdCollection * > createCollections (VertexSysController *controller)
static VP1CollStates getStates (const QList< VP1Collection * > &)
static void applyStates (const QList< VP1Collection * > &, const VP1CollStates &)
static void updateStates (VP1CollStates &state, const VP1CollStates &newInfo)
template<class T>
static QList< VP1Collection * > toBaseCollList (const QList< T * > &)
static bool verbose ()
static void warnUndeletedInstances ()
static QString str (const QString &s)
static QString str (const char *c)
static QString str (const bool b)
static QString str (const QColor &)
static QString str (const SbColor &)
static QString str (const VP1Interval &)
static QString str (const SbVec2d &)
static QString str (const SbVec2f &)
static QString str (const SbVec2s &)
static QString str (const SbVec3d &)
static QString str (const SbVec3f &)
static QString str (const SbVec3s &)
static QString str (const SbVec4d &)
static QString str (const SbVec4f &)
static QString str (short int n)
static QString str (unsigned short int n)
static QString str (long n)
static QString str (ulong n)
static QString str (int n)
static QString str (uint n)
static QString str (qlonglong n)
static QString str (qulonglong n)
static QString str (const double &d)
static QString str (const float &f)
static QString str (const void *)
template<class T>
static QString str (const T *t)
template<class T>
static QString str (const QFlags< T > &f)
template<class T>
static QString str (const HepGeom::BasicVector3D< T > &t)
static QString str (const Amg::Vector3D &t)
template<class T>
static QString str (const QList< T > &t)

Protected Member Functions

qint32 provideCollTypeID () const
QString provideSection () const
QString provideSectionToolTip () const
QString provideText () const
void assignDefaultMaterial (SoMaterial *) const
bool load ()
QList< QWidget * > provideWidgetsForGuiRow () const
virtual QString checkBoxToolTip () const
virtual QString matButtonToolTip () const
virtual void collMaterialTransparencyAndBrightnessChanged ()
virtual QByteArray extraWidgetsState () const
virtual void setExtraWidgetsState (const QByteArray &)
virtual QByteArray providePersistifiableID () const
void setHelperClassName (const QString &n)

Private Slots

void colourByComboBoxItemChanged ()
void collVisibilityChanged (bool vis)
void rerandomiseRandomVertexColours ()

Private Attributes

Impm_d
COLOURBY m_colourby
QString m_helpername
IVP1Systemm_system

Static Private Attributes

static const bool s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")

Detailed Description

Definition at line 32 of file VP1VertexCollection.h.

Member Enumeration Documentation

◆ COLOURBY

Enumerator
COLOUR_PERCOLLECTION 
COLOUR_RANDOM 

Definition at line 48 of file VP1VertexCollection.h.

Constructor & Destructor Documentation

◆ VP1VertexCollection()

VP1VertexCollection::VP1VertexCollection ( VertexSysController * controller,
const QString & key )

Definition at line 273 of file VP1VertexCollection.cxx.

274 : VP1StdCollection(controller->systemBase(),"VP1VertexCollection_"+key), m_d(new Imp),
276{
277 m_d->theclass = this;
278 m_d->controller = controller;
279 m_d->key = key;
280 m_d->comboBox_colourby = new QComboBox;
281 connect(controller,SIGNAL(reconVertexRepresentationChanged(const double&)),this,SLOT(updateAllShapes()));
282 connect(controller,SIGNAL(reconCutAllowedTypesChanged(VertexCommonFlags::ReconVertexTypeFlags)),this,SLOT(recheckAllCuts()));
283 connect(this,SIGNAL(tracksFromVertexChanged(QList<std::pair<const SoMaterial*,QList<const Trk::Track*> > >&)),
284 dynamic_cast<VP1VertexSystem*>(controller->systemBase()),SLOT(updateVertexToTracks(QList<std::pair<const SoMaterial*,QList<const Trk::Track*> > >&))); // FIXME - only for data!
285
286}
IVP1System * systemBase() const
VP1StdCollection(IVP1System *, const QString &helperClassName)
void tracksFromVertexChanged(QList< std::pair< const SoMaterial *, QList< const Trk::Track * > > > &)

◆ ~VP1VertexCollection()

VP1VertexCollection::~VP1VertexCollection ( )
virtual

Definition at line 289 of file VP1VertexCollection.cxx.

290{
291 for (Imp::VertexHandle* vh : m_d->vertices)
292 delete vh;
293
294 // delete m_d->comboBox_colourby; DONE by baseclass
295 delete m_d;
296}

Member Function Documentation

◆ applyStates()

void VP1Collection::applyStates ( const QList< VP1Collection * > & cols,
const VP1CollStates & states )
staticinherited

Definition at line 108 of file VP1Collection.cxx.

109{
110 VP1Msg::messageDebug("VP1Collection::applyStates() - start...");
111 for (VP1Collection* col : cols)
112 if (states.contains(col->persistifiableID()))
113 col->setState(states.value(col->persistifiableID()));
114 VP1Msg::messageDebug("VP1Collection::applyStates() - end.");
115}
VP1Collection(IVP1System *sys=0, const QString &helperClassName="VP1Collection")
static void messageDebug(const QString &)
Definition VP1Msg.cxx:39

◆ assignDefaultMaterial()

void VP1VertexCollection::assignDefaultMaterial ( SoMaterial * m) const
protectedvirtual

Implements VP1StdCollection.

Definition at line 430 of file VP1VertexCollection.cxx.

431{
432 VP1MaterialButton::setMaterialParameters( m, 0.66667/*red*/, 1.0/*green*/, 0.0/*blue*/, 0.15 /*brightness*/ );
433}
static void setMaterialParameters(SoMaterial *m, const QColor &, const double &brightness=0.0, const double &transp=0.0)

◆ checkBoxToolTip()

virtual QString VP1StdCollection::checkBoxToolTip ( ) const
inlineprotectedvirtualinherited

Reimplemented in VP1MissingEtCaloHandle, VP1MissingEtHandle, and VP1MissingEtTruthHandle.

Definition at line 76 of file VP1StdCollection.h.

76{ return "Collection "+text(); }
QString text() const

◆ collMaterialBrightness()

double VP1StdCollection::collMaterialBrightness ( ) const
inherited

Definition at line 342 of file VP1StdCollection.cxx.

343{
344 return m_d->lastMatBrightness;
345}

◆ collMaterialTransparency()

double VP1StdCollection::collMaterialTransparency ( ) const
inherited

Definition at line 336 of file VP1StdCollection.cxx.

337{
338 return m_d->lastMatTransparency;
339}

◆ collMaterialTransparencyAndBrightnessChanged()

virtual void VP1StdCollection::collMaterialTransparencyAndBrightnessChanged ( )
inlineprotectedvirtualinherited

Reimplemented in TrackCollHandleBase.

Definition at line 79 of file VP1StdCollection.h.

79{}

◆ collSep()

SoSeparator * VP1StdCollection::collSep ( ) const
inherited

All 3D objects from this coll.

belongs under here.

Definition at line 212 of file VP1StdCollection.cxx.

213{
214 if (!m_d->collsep)
215 message("ERROR: collSep() called before init()");
216 return m_d->collsep;
217}
void message(const QString &) const

◆ collSwitch()

SoSwitch * VP1StdCollection::collSwitch ( ) const
inherited

Add this somewhere in your scenegraph (do not add any children here!)

Definition at line 204 of file VP1StdCollection.cxx.

205{
206 if (!m_d->theswitch)
207 message("ERROR: collSwitch() called before init()");
208 return m_d->theswitch;
209}

◆ collTypeID()

qint32 VP1StdCollection::collTypeID ( ) const
inherited

Definition at line 315 of file VP1StdCollection.cxx.

316{
317 if (!m_d->idProvided) {
318 m_d->idProvided = true;
319 m_d->id = provideCollTypeID();
320 }
321 return m_d->id;
322}
virtual qint32 provideCollTypeID() const

◆ collVisibilityChanged

void VP1VertexCollection::collVisibilityChanged ( bool vis)
privateslot

Definition at line 547 of file VP1VertexCollection.cxx.

548{
549 if (VP1Msg::verbose())
550 messageVerbose("VP1VertexCollection::collVisibilityChanged => "+str(vis));
551 if (vis) {
553 } else {
554 QList< std::pair<const SoMaterial*, QList< const Trk::Track*> > > colAndTracks;
555 emit tracksFromVertexChanged(colAndTracks);
556 }
557}
void messageVerbose(const QString &) const
static bool verbose()
Definition VP1Msg.h:31
static QString str(const QString &s)
Definition VP1String.h:49

◆ colourBy()

COLOURBY VP1VertexCollection::colourBy ( ) const
inline

Definition at line 49 of file VP1VertexCollection.h.

49{ return m_colourby; }

◆ colourByComboBoxItemChanged

void VP1VertexCollection::colourByComboBoxItemChanged ( )
privateslot

Definition at line 375 of file VP1VertexCollection.cxx.

376{
377 messageVerbose("Collection detail level combo box changed index");
378 if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByRandom())
380 else
382}
static QString comboBoxEntry_ColourByRandom()

◆ createCollections()

QList< VP1StdCollection * > VP1VertexCollection::createCollections ( VertexSysController * controller)
static

Definition at line 52 of file VP1VertexCollection.cxx.

53{
54 QList<VP1StdCollection*> l;
55 for (const QString& key : VP1SGContentsHelper(controller->systemBase()).getKeys<VxContainer>()) {
56 VP1VertexCollection * col = new VP1VertexCollection(controller,key);
57 col->init();
58 l << col;
59 }
60 return l;
61}
Athena::TPCnvVers::Old VxContainer
VP1VertexCollection(VertexSysController *controller, const QString &key)
void init(VP1MaterialButtonBase *mat=0)
l
Printing final latex table to .tex output file.

◆ defaultColourBy()

virtual COLOURBY VP1VertexCollection::defaultColourBy ( ) const
inlinevirtual

Definition at line 50 of file VP1VertexCollection.h.

50{ return COLOUR_PERCOLLECTION; }

◆ extraWidgetsState()

virtual QByteArray VP1StdCollection::extraWidgetsState ( ) const
inlineprotectedvirtualinherited

Reimplemented in AODCollHandleBase, PRDCollHandleBase, and TrackCollHandleBase.

Definition at line 89 of file VP1StdCollection.h.

89{ return QByteArray(); }

◆ getStates()

VP1CollStates VP1Collection::getStates ( const QList< VP1Collection * > & cols)
staticinherited

Definition at line 92 of file VP1Collection.cxx.

93{
94 VP1Msg::messageDebug("VP1Collection::getStates() - start...");
95
97 for (VP1Collection* col : cols) {
98 VP1Msg::messageDebug("inserting collection: " + col->section() );
99 states.insert(col->persistifiableID(),col->persistifiableState());
100 }
101
102 VP1Msg::messageDebug("VP1Collection::getStates() - end.");
103
104 return states;
105}
QMap< QByteArray, QByteArray > VP1CollStates

◆ helperClassName()

const QString & VP1HelperClassBase::helperClassName ( ) const
inlineinherited

Definition at line 51 of file VP1HelperClassBase.h.

51{ return m_helpername; }

◆ infoOnClicked()

QStringList VP1VertexCollection::infoOnClicked ( SoPath * pickedPath)

Definition at line 489 of file VP1VertexCollection.cxx.

490{
491 static_cast<IVP13DSystem*>(systemBase())->deselectAll();
492
493 //Get Trk::VxCandidate pointer associated with the clicked node:
494 while (pickedPath->getLength()>3&&pickedPath->getNodeFromTail(0)->getTypeId()!=SoSeparator::getClassTypeId())
495 pickedPath->pop();
496 if (pickedPath->getNodeFromTail(0)->getTypeId()!=SoSeparator::getClassTypeId())
497 return QStringList() << "ERROR: Could not get vertex information for picked Node (1)";
498 SoSeparator * pickedSep = static_cast<SoSeparator *>(pickedPath->getNodeFromTail(0));
499
500 Imp::VertexHandle*vertexHandle(0);
501 for (Imp::VertexHandle*vh : m_d->vertices) {
502 if (vh->sep()==pickedSep) {
503 vertexHandle = vh;
504 break;
505 }
506 }
507 if (!vertexHandle)
508 return QStringList() << "ERROR: Could not get vertex information for picked Node (1)";
509 const Trk::VxCandidate * vtx = vertexHandle->vertex();
510
511 QStringList l;
512 if (m_d->controller->printInfoOnClick()) {
513
514 //Make output:
515 l <<"Reconstructed vertex from collection "+text()+":" ;
516 l << "--Position [CLHEP::mm]: ("+str(vtx->recVertex().position().x()/Gaudi::Units::mm)+", "+
517 str(vtx->recVertex().position().y()/Gaudi::Units::mm)+", "+str(vtx->recVertex().position().z()/Gaudi::Units::mm)+")";
518
519 //Track associations. (in the future we will use them to tell the
520 //track system to e.g. colour tracks by vertex - for now just print the number of those):
521 QList<const Trk::Track*> tracks;
522 QList<const Trk::TrackParticleBase*> trackparticles;
523 m_d->findAssociatedTracks(vtx,tracks,trackparticles);
524 l << "--#Tracks used: "+str(vtx->vxTrackAtVertex()->size());
525 if (m_d->controller->printVerboseInfoOnClick()) {
526 l << "--#Trk::Track's: "+str(tracks.count());
527 l << "--#Trk::TrackParticleBase's: "+str(trackparticles.count());
528 l <<"======== Dump ========";
529 std::ostringstream s;
530 vtx->dump(s);
531 l << QString(s.str().c_str()).split('\n');
532 l <<"======================";
533 }
534 }
535
536 if (m_d->controller->zoomOnClick()) {
537 std::set<SoCamera*> cameras = static_cast<IVP13DSystem*>(systemBase())->getCameraList();
538 std::set<SoCamera*>::iterator it,itE = cameras.end();
539 for (it=cameras.begin();it!=itE;++it)
540 VP1CameraHelper::animatedZoomToPath(*it,collSep(),pickedPath,2.0,1.0);
541 }
542
543 return l;
544}
const Amg::Vector3D & position() const
return position of vertex
Definition Vertex.cxx:63
std::vector< Trk::VxTrackAtVertex * > * vxTrackAtVertex(void)
Unconst pointer to the vector of tracks Required by some of the vertex fitters.
const Trk::RecVertex & recVertex(void) const
Returns a reference to reconstructed vertex.
virtual MsgStream & dump(MsgStream &sl) const
Output Method for MsgStream, to be overloaded by child classes.
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)
SoSeparator * collSep() const
All 3D objects from this coll.

◆ init()

void VP1VertexCollection::init ( VP1MaterialButtonBase * mat = 0)
virtual

Reimplemented from VP1StdCollection.

Definition at line 298 of file VP1VertexCollection.cxx.

299{
300 VP1StdCollection::init();//this call is required
301
302 // setupSettingsFromController(common()->controller());
303
304 //Setup colour by:
305 m_d->comboBox_colourby->setToolTip("Determine how vertices from this collection are coloured.");
306 QStringList l;
309 m_d->comboBox_colourby->addItems(l);
310 m_d->comboBox_colourby->setCurrentIndex(0);//corresponds to per collection.
311 connect(m_d->comboBox_colourby,SIGNAL(currentIndexChanged(int)),
312 this,SLOT(colourByComboBoxItemChanged()));
313
314 connect(this,SIGNAL(visibilityChanged(bool)),this,SLOT(collVisibilityChanged(bool)));
316
317 connect(m_d->controller,SIGNAL(rerandomise()),this,SLOT(rerandomiseRandomVertexColours()));
318
319}
virtual void init(VP1MaterialButtonBase *button=0)
void visibilityChanged(bool)
static QString comboBoxEntry_ColourByCollection()
void collVisibilityChanged(bool vis)
virtual COLOURBY defaultColourBy() const

◆ isLoaded()

bool VP1StdCollection::isLoaded ( ) const
inherited

Definition at line 148 of file VP1StdCollection.cxx.

149{
150 return m_d->loaded;
151}

◆ largeChangesBegin()

void VP1StdCollection::largeChangesBegin ( )
virtualinherited

Reimplemented in VP1CaloClusterCollection.

Definition at line 228 of file VP1StdCollection.cxx.

229{
230 if (!m_d->collsep)
231 message("ERROR: largeChangesBegin() called before init()");
232 m_d->collsep->enableNotify(false);
233 ++(m_d->largechangescount_sep);
234 m_d->theswitch->enableNotify(false);
235 ++(m_d->largechangescount_switch);
236}

◆ largeChangesEnd()

void VP1StdCollection::largeChangesEnd ( )
virtualinherited

Reimplemented in VP1CaloClusterCollection.

Definition at line 239 of file VP1StdCollection.cxx.

240{
241 if (!m_d->collsep)
242 message("ERROR: largeChangesEnd() called before init()");
243 if (m_d->largechangescount_sep>0) {
244 if (--(m_d->largechangescount_sep)==0) {
245 m_d->collsep->enableNotify(true);
246 m_d->collsep->touch();
247 }
248 }
249 if (m_d->largechangescount_switch>0) {
250 if (--(m_d->largechangescount_switch)==0) {
251 m_d->theswitch->enableNotify(true);
252 m_d->theswitch->touch();
253 }
254 }
255}

◆ load()

bool VP1VertexCollection::load ( )
protectedvirtual

Implements VP1StdCollection.

Definition at line 464 of file VP1VertexCollection.cxx.

465{
466 const VxContainer* vxContainer;
467 if (!VP1SGAccessHelper(systemBase()).retrieve(vxContainer, m_d->key))
468 return false;
469
470 int i(0);
471 for ( VxContainer::const_iterator vtxItr=vxContainer->begin(); vtxItr != vxContainer->end() ; ++vtxItr ) {
472 const Trk::VxCandidate* theVxCandidate = *vtxItr;
473 if (!theVxCandidate)
474 continue;
475 m_d->vertices << new Imp::VertexHandle(theVxCandidate, this);
476 if (!(i++%20))
478 }
479
481 //TODO: Option in controller for colouring first vertex in the
482 //collection (the first is the identified primary vertex), with a
483 //distinct colour.
484
485 return true;
486}
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
void updateGUI()
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ matButtonToolTip()

virtual QString VP1StdCollection::matButtonToolTip ( ) const
inlineprotectedvirtualinherited

Reimplemented in AODCollHandleBase.

Definition at line 77 of file VP1StdCollection.h.

77{ return "Edit the material of "+text(); }

◆ material()

SoMaterial * VP1StdCollection::material ( ) const
inherited

Definition at line 220 of file VP1StdCollection.cxx.

221{
222 if (!m_d->material)
223 message("ERROR: material() called before init()");
224 return m_d->material;
225}

◆ message() [1/3]

void VP1HelperClassBase::message ( const QString & str) const
inherited

Definition at line 49 of file VP1HelperClassBase.cxx.

50{
51 if (m_helpername.isEmpty()) {
52 if (m_system)
53 m_system->message(str);
54 else
55 std::cout<<VP1Msg::prefix_msg()<<" [nameless helper class]: "<<str.toStdString()<<std::endl;
56 } else {
57 if (m_system)
58 m_system->message("["+m_helpername+"] " + str);
59 else
60 std::cout<<VP1Msg::prefix_msg()<<" ["<<m_helpername.toStdString()<<"]: "<<str.toStdString()<<std::endl;
61 }
62}
static const char * prefix_msg()
Definition VP1Msg.h:56

◆ message() [2/3]

void VP1HelperClassBase::message ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 131 of file VP1HelperClassBase.cxx.

132{
133 if (addtostart.isEmpty()) {
134 message(l,addtoend);
135 return;
136 }
137 if (addtoend.isEmpty()) {
138 for (const QString& s : l)
139 message(addtostart+s);
140 } else {
141 for (const QString& s : l)
142 message(addtostart+s+addtoend);
143 }
144}

◆ message() [3/3]

void VP1HelperClassBase::message ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 91 of file VP1HelperClassBase.cxx.

92{
93 if (addtoend.isEmpty()) {
94 for (const QString& s : l)
95 message(s);
96 } else {
97 for (const QString& s : l)
98 message(s+addtoend);
99 }
100}

◆ messageDebug() [1/3]

void VP1HelperClassBase::messageDebug ( const QString & str) const
inherited

Definition at line 65 of file VP1HelperClassBase.cxx.

66{
67 if (!VP1Msg::debug())
68 return;
69 std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
70 if (m_helpername.isEmpty()) {
71 std::cout<<VP1Msg::prefix_debug()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
72 } else {
73 std::cout<<VP1Msg::prefix_debug()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
74 }
75}
static bool debug()
Definition VP1Msg.h:32
static const char * prefix_debug()
Definition VP1Msg.h:57

◆ messageDebug() [2/3]

void VP1HelperClassBase::messageDebug ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 147 of file VP1HelperClassBase.cxx.

148{
149 if (!VP1Msg::debug())
150 return;
151 if (addtostart.isEmpty()) {
152 messageDebug(l,addtoend);
153 return;
154 }
155 if (addtoend.isEmpty()) {
156 for (const QString& s : l)
157 messageDebug(addtostart+s);
158 } else {
159 for (const QString& s : l)
160 messageDebug(addtostart+s+addtoend);
161 }
162}
void messageDebug(const QString &) const

◆ messageDebug() [3/3]

void VP1HelperClassBase::messageDebug ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 103 of file VP1HelperClassBase.cxx.

104{
105 if (!VP1Msg::debug())
106 return;
107 if (addtoend.isEmpty()) {
108 for (const QString& s : l)
109 messageDebug(s);
110 } else {
111 for (const QString& s : l)
112 messageDebug(s+addtoend);
113 }
114}

◆ messageVerbose() [1/3]

void VP1HelperClassBase::messageVerbose ( const QString & str) const
inherited

Definition at line 78 of file VP1HelperClassBase.cxx.

79{
80 if (!VP1Msg::verbose())
81 return;
82 std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
83 if (m_helpername.isEmpty()) {
84 std::cout<<VP1Msg::prefix_verbose()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
85 } else {
86 std::cout<<VP1Msg::prefix_verbose()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
87 }
88}
static const char * prefix_verbose()
Definition VP1Msg.h:59

◆ messageVerbose() [2/3]

void VP1HelperClassBase::messageVerbose ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 165 of file VP1HelperClassBase.cxx.

166{
167 if (!VP1Msg::verbose())
168 return;
169 if (addtostart.isEmpty()) {
170 messageVerbose(l,addtoend);
171 return;
172 }
173 if (addtoend.isEmpty()) {
174 for (const QString& s : l)
175 messageVerbose(addtostart+s);
176 } else {
177 for (const QString& s : l)
178 messageVerbose(addtostart+s+addtoend);
179 }
180}

◆ messageVerbose() [3/3]

void VP1HelperClassBase::messageVerbose ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 117 of file VP1HelperClassBase.cxx.

118{
119 if (!VP1Msg::verbose())
120 return;
121 if (addtoend.isEmpty()) {
122 for (const QString& s : l)
124 } else {
125 for (const QString& s : l)
126 messageVerbose(s+addtoend);
127 }
128}

◆ persistifiableID()

QByteArray VP1Collection::persistifiableID ( ) const
inherited

Definition at line 49 of file VP1Collection.cxx.

50{
51 VP1Msg::messageDebug("VP1Collection::persistifiableID()");
52
53 if (!m_d->persistIDProvided) {
54 m_d->persistIDProvided = true;
55 m_d->persistID = providePersistifiableID().toHex();//toHex() necessary for some unknown reason!
56 //Without it keys in maps are apparently considered similar! (Qt bug??)
57 }
58 return m_d->persistID;
59}
virtual QByteArray providePersistifiableID() const =0

◆ persistifiableState()

QByteArray VP1StdCollection::persistifiableState ( ) const
virtualinherited

Provide default implementation based on widget list + version.

Implements VP1Collection.

Reimplemented in AODCollHandleBase, IParticleCollHandle_CaloCluster, IParticleCollHandle_Jet, IParticleCollHandleBase, MissingEtCollHandle, TrackCollHandleBase, and VertexCollHandle.

Definition at line 270 of file VP1StdCollection.cxx.

271{
272 messageDebug("VP1StdCollection::persistifiableState()");
273
274 if (!m_d->material) {
275 message("ERROR: persistifiableState() called before init()");
276 return QByteArray();
277 }
278 VP1Serialise serialise(1/*version*/);
279 serialise.disableUnsavedChecks();
280 serialise.save(m_d->visible);
281 Q_ASSERT(m_d->material&&"Did you forget to call init() on this VP1StdCollection?");
282 serialise.save(m_d->material);
283 serialise.save(extraWidgetsState());//version 1+
284 return serialise.result();
285}
virtual QByteArray extraWidgetsState() const
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors

◆ possibleChangeMatTranspOrBrightness

void VP1StdCollection::possibleChangeMatTranspOrBrightness ( )
slotinherited

Definition at line 348 of file VP1StdCollection.cxx.

349{
350 double t = m_d->matButton->lastAppliedTransparency();
351 double b = m_d->matButton->lastAppliedBrightness();
352 if ( m_d->lastMatTransparency == t && m_d->lastMatBrightness == b )
353 return;
354 m_d->lastMatTransparency = t;
355 m_d->lastMatBrightness = b;
357}
virtual void collMaterialTransparencyAndBrightnessChanged()

◆ problemsLoading()

bool VP1StdCollection::problemsLoading ( ) const
inherited

Definition at line 154 of file VP1StdCollection.cxx.

155{
156 return m_d->problemsloading;
157}

◆ provideCollTypeID()

qint32 VP1VertexCollection::provideCollTypeID ( ) const
inlineprotectedvirtual

Reimplemented from VP1StdCollection.

Definition at line 53 of file VP1VertexCollection.h.

53{ return 0; }//Vertex col. type: 0 for reconstructed vertices, 1 for truth vertices.

◆ provideExtraWidgetsForGuiRow()

QList< QWidget * > VP1VertexCollection::provideExtraWidgetsForGuiRow ( ) const
virtual

Reimplemented from VP1StdCollection.

Definition at line 368 of file VP1VertexCollection.cxx.

369{
370 return QList<QWidget*>() << m_d->comboBox_colourby;
371
372}

◆ providePersistifiableID()

QByteArray VP1StdCollection::providePersistifiableID ( ) const
protectedvirtualinherited

Implements VP1Collection.

Reimplemented in VP1MissingEtHandle.

Definition at line 325 of file VP1StdCollection.cxx.

326{
327 VP1Serialise serialise(-10/*version*/);//we use negative versions here (0 and -10 already used),
328 //to allow derived classes to use positive numbers.
329 serialise.disableUnsavedChecks();
330 serialise.save(collTypeID());
331 serialise.save(text());
332 return serialise.result();
333}
qint32 collTypeID() const

◆ provideSection()

QString VP1VertexCollection::provideSection ( ) const
inlineprotectedvirtual

Implements VP1Collection.

Definition at line 54 of file VP1VertexCollection.h.

54{ return "Reconstructed Vertices"; };

◆ provideSectionToolTip()

QString VP1VertexCollection::provideSectionToolTip ( ) const
inlineprotectedvirtual

Reimplemented from VP1Collection.

Definition at line 55 of file VP1VertexCollection.h.

55{ return "Collections of reconstructed vertices"; }

◆ provideText()

QString VP1VertexCollection::provideText ( ) const
protectedvirtual

Implements VP1StdCollection.

Definition at line 385 of file VP1VertexCollection.cxx.

386{
387 return m_d->key;
388}

◆ provideWidgetsForGuiRow()

QList< QWidget * > VP1StdCollection::provideWidgetsForGuiRow ( ) const
protectedvirtualinherited

Implements VP1Collection.

Definition at line 258 of file VP1StdCollection.cxx.

259{
260 m_d->extraWidgets = provideExtraWidgetsForGuiRow();
261
262 QList<QWidget*> l;
263 l << m_d->checkBox;
264 l << m_d->matButton;
265 l << m_d->extraWidgets;
266 return l;
267}
virtual QList< QWidget * > provideExtraWidgetsForGuiRow() const

◆ recheckAllCuts

void VP1VertexCollection::recheckAllCuts ( )
slot

Definition at line 436 of file VP1VertexCollection.cxx.

437{
439 QList<const Trk::Track*> tracks;
440 QList<const Trk::TrackParticleBase*> trackparticles;
441 QList< std::pair<const SoMaterial*, QList< const Trk::Track*> > > colAndTracks;
442 for (Imp::VertexHandle* vh : m_d->vertices){
443 m_d->recheckCut(vh);
444 m_d->findAssociatedTracks(vh->vertex(),tracks,trackparticles);
445 const SoMaterial* mat = vh->attached()?vh->determineMaterial():0; // store either the material, or 0 for hidden vertices
446 colAndTracks.append(std::pair<const SoMaterial*, QList< const Trk::Track*> >(mat, tracks));
447 }
448 emit tracksFromVertexChanged(colAndTracks);
450}
virtual void largeChangesEnd()
virtual void largeChangesBegin()

◆ rerandomiseRandomVertexColours

void VP1VertexCollection::rerandomiseRandomVertexColours ( )
privateslot

Definition at line 560 of file VP1VertexCollection.cxx.

561{
562 if (!isLoaded())
563 return;
564 messageVerbose("rerandomiseRandomVertexColours start");
566 for (Imp::VertexHandle* vh : m_d->vertices)
567 vh->rerandomiseRandomMaterial();
569 messageVerbose("rerandomiseRandomVertexColours end");
570}

◆ section()

QString VP1Collection::section ( ) const
inherited

Definition at line 72 of file VP1Collection.cxx.

73{
74 if (!m_d->sectionProvided) {
75 m_d->sectionProvided = true;
76 m_d->section = provideSection();
77 }
78 return m_d->section;
79}
virtual QString provideSection() const =0

◆ sectionToolTip()

QString VP1Collection::sectionToolTip ( ) const
inherited

Definition at line 82 of file VP1Collection.cxx.

83{
84 if (!m_d->sectionToolTipProvided) {
85 m_d->sectionToolTipProvided = true;
86 m_d->sectionToolTip = provideSectionToolTip();
87 }
88 return m_d->sectionToolTip;
89}
virtual QString provideSectionToolTip() const

◆ setColourBy()

void VP1VertexCollection::setColourBy ( VP1VertexCollection::COLOURBY cb)

Definition at line 321 of file VP1VertexCollection.cxx.

322{
323 messageVerbose("setColourBy called");
324 if (m_colourby==cb)
325 return;
326 messageVerbose("setColourBy ==> Changed");
327 m_colourby=cb;
328
329 //Update gui combobox:
330 QString targetText;
331 switch(cb) {
332 case COLOUR_RANDOM:
334 break;
335 default:
338 break;
339 }
340 if (targetText!=m_d->comboBox_colourby->currentText()) {
341 int i = m_d->comboBox_colourby->findText(targetText);
342 if (i>=0&&i<m_d->comboBox_colourby->count()) {
343 bool save = m_d->comboBox_colourby->blockSignals(true);
344 m_d->comboBox_colourby->setCurrentIndex(i);
345 m_d->comboBox_colourby->blockSignals(save);
346 } else {
347 message("ERROR: Problems finding correct text in combo box");
348 }
349 }
350
351 // //Actual material updates (could do this more efficiently by just updating material, but shouldn't matter for vertices)
353
354 // Now work out what colours to send to the track system
355 QList<const Trk::Track*> tracks;
356 QList<const Trk::TrackParticleBase*> trackparticles;
357 QList< std::pair<const SoMaterial*, QList< const Trk::Track*> > > colAndTracks;
358 for (Imp::VertexHandle* vh : m_d->vertices){
359 m_d->findAssociatedTracks(vh->vertex(),tracks,trackparticles);
360 const SoMaterial* mat = vh->attached()?vh->determineMaterial():0; // store either the material, or 0 for hidden vertices
361 colAndTracks.append(std::pair<const SoMaterial*, QList< const Trk::Track*> >(mat, tracks));
362 }
363 emit tracksFromVertexChanged(colAndTracks);
364
365}

◆ setExtraWidgetsState()

virtual void VP1StdCollection::setExtraWidgetsState ( const QByteArray & )
inlineprotectedvirtualinherited

Reimplemented in AODCollHandleBase, PRDCollHandleBase, and TrackCollHandleBase.

Definition at line 90 of file VP1StdCollection.h.

90{}

◆ setHelperClassName()

void VP1HelperClassBase::setHelperClassName ( const QString & n)
inlineprotectedinherited

Definition at line 59 of file VP1HelperClassBase.h.

◆ setState()

void VP1StdCollection::setState ( const QByteArray & state)
virtualinherited

Provide default implementation based on widget list + version.

Implements VP1Collection.

Reimplemented in AODCollHandleBase, IParticleCollHandle_CaloCluster, IParticleCollHandle_Jet, IParticleCollHandleBase, MissingEtCollHandle, TrackCollHandleBase, and VertexCollHandle.

Definition at line 288 of file VP1StdCollection.cxx.

289{
290 if (!m_d->material) {
291 message("ERROR: setState(..) called before init()");
292 return;
293 }
294 VP1Deserialise des(state);
295 des.disableUnrestoredChecks();
296 if (des.version()!=0&&des.version()!=1) {
297 messageDebug("Warning: Ignoring state with wrong version");
298 return;
299 }
300 bool vis = des.restoreBool();
301
302 QByteArray matState = des.restoreByteArray();
303 QByteArray extraWidgetState = des.version()>=1 ? des.restoreByteArray() : QByteArray();
304
306 m_d->matButton->copyValuesFromMaterial(m_d->material);
307 // m_d->material->restoreFromState(matState);
308 setVisible(vis);
309
310 if (extraWidgetState!=QByteArray())
311 setExtraWidgetsState(extraWidgetState);
312}
static bool deserialiseSoMaterial(QByteArray &, SoMaterial *&)
virtual void setExtraWidgetsState(const QByteArray &)

◆ setSystemBasePointer()

void VP1HelperClassBase::setSystemBasePointer ( IVP1System * sys)
inherited

Definition at line 197 of file VP1HelperClassBase.cxx.

198{
199 m_system = sys;
200 if (VP1Msg::verbose()){
201 vp1helperclassbase_instanceMap[this] = (m_system?m_system->name():QString(""));
202 }
203}
static std::map< VP1HelperClassBase *, QString > vp1helperclassbase_instanceMap

◆ setVisible

void VP1StdCollection::setVisible ( bool b)
slotinherited

Definition at line 160 of file VP1StdCollection.cxx.

161{
162 if (m_d->visible==b||problemsLoading())
163 return;
164 m_d->visible=b;
165 messageVerbose("Visible state ("+text()+") => "+str(m_d->visible));
166
167 //Possibly load:
168 if (m_d->visible&&!m_d->loaded) {
169 m_d->loaded = true;
170 m_d->theswitch->whichChild = SO_SWITCH_NONE;
171 bool ok = load();
172 if (!ok) {
173 m_d->problemsloading = true;
174 m_d->visible = false;
175 m_d->checkBox->blockSignals(true);
176 m_d->checkBox->setChecked(false);
177 m_d->checkBox->setToolTip("Problems encountered during attempt to load this collection");
178 for (QWidget*w : widgetsForGuiRow())
179 w->setEnabled(false);
180 message("Problems loading "+text());
181 return;
182 }
183 m_d->theswitch->addChild(m_d->material);
184 m_d->theswitch->addChild(m_d->collsep);
185 }
186
187 Q_ASSERT(!problemsLoading());
188
189 //Update checkbox and switch:
190 if (m_d->checkBox->isChecked()!=m_d->visible) {
191 bool save = m_d->checkBox->blockSignals(true);
192 m_d->checkBox->setChecked(m_d->visible);
193 if (!save)
194 m_d->checkBox->blockSignals(false);
195 }
196 if ((m_d->theswitch->whichChild.getValue()==SO_SWITCH_ALL) != m_d->visible)
197 m_d->theswitch->whichChild = ( m_d->visible ? SO_SWITCH_ALL : SO_SWITCH_NONE );
198
199 visibilityChanged(m_d->visible);
200}
virtual QList< QWidget * > widgetsForGuiRow() const
virtual bool load()=0
bool problemsLoading() const

◆ str() [1/30]

QString VP1String::str ( const Amg::Vector3D & t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [2/30]

QString VP1String::str ( const bool b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53{ return b?"True":"False"; }

◆ str() [3/30]

QString VP1String::str ( const char * c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50{ return c; }

◆ str() [4/30]

QString VP1String::str ( const double & d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81{ return QString::number(d); }

◆ str() [5/30]

QString VP1String::str ( const float & f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82{ return QString::number(f); }

◆ str() [6/30]

template<class T>
QString VP1String::str ( const HepGeom::BasicVector3D< T > & t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor & c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31{
32 return c.isValid() ? c.name() : "Invalid";
33}

◆ str() [8/30]

template<class T>
QString VP1String::str ( const QFlags< T > & f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91{ return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T>
QString VP1String::str ( const QList< T > & t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102{ return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

QString VP1String::str ( const QString & s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49{ return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor & c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37{
39}
static QColor sbcol2qcol(const SbColor &)

◆ str() [12/30]

QString VP1String::str ( const SbVec2d & v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61{ double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }
#define y
#define x

◆ str() [13/30]

QString VP1String::str ( const SbVec2f & v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62{ float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s & v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63{ short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d & v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64{ double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }
#define z

◆ str() [16/30]

QString VP1String::str ( const SbVec3f & v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65{ float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s & v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66{ short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d & v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67{ double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f & v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68{ float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T>
QString VP1String::str ( const T * t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87{ return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void * p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49{
50 if (p) {
51 std::ostringstream s;
52 s << p;
53 // Explicitly naming QString here avoids a cppcheck warning.
54 return QString (s.str().c_str());
55 } else {
56 return "NULL";
57 }
58}

◆ str() [22/30]

QString VP1String::str ( const VP1Interval & i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43{
44 return i.toString();
45}

◆ str() [23/30]

QString VP1String::str ( int n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77{ return QString::number(n); }

◆ str() [24/30]

QString VP1String::str ( long n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75{ return QString::number(n); }

◆ str() [25/30]

QString VP1String::str ( qlonglong n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79{ return QString::number(n); }

◆ str() [26/30]

QString VP1String::str ( qulonglong n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80{ return QString::number(n); }

◆ str() [27/30]

QString VP1String::str ( short int n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73{ return QString::number(n); }

◆ str() [28/30]

QString VP1String::str ( uint n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78{ return QString::number(n); }

◆ str() [29/30]

QString VP1String::str ( ulong n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76{ return QString::number(n); }

◆ str() [30/30]

QString VP1String::str ( unsigned short int n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74{ return QString::number(n); }

◆ systemBase()

IVP1System * VP1HelperClassBase::systemBase ( ) const
inlineinherited

Definition at line 50 of file VP1HelperClassBase.h.

50{ return m_system; }

◆ text()

QString VP1StdCollection::text ( ) const
inherited

Definition at line 132 of file VP1StdCollection.cxx.

133{
134 if (!m_d->textProvided) {
135 m_d->textProvided = true;
136 m_d->text = provideText();
137 }
138 return m_d->text;
139}
virtual QString provideText() const =0

◆ toBaseCollList()

template<class T>
QList< VP1Collection * > VP1Collection::toBaseCollList ( const QList< T * > & in)
staticinherited

Definition at line 80 of file VP1Collection.h.

81{
82 QList<VP1Collection*> l;
83 for (T * t : in)
84 l << static_cast<T*>(t);
85 return l;
86}

◆ tracksFromVertexChanged

void VP1VertexCollection::tracksFromVertexChanged ( QList< std::pair< const SoMaterial *, QList< const Trk::Track * > > > & )
signal

◆ updateAllShapes

void VP1VertexCollection::updateAllShapes ( )
slot

Definition at line 453 of file VP1VertexCollection.cxx.

454{
455 messageVerbose("VP1VertexCollection::updateAllShapes()");
456
458 for (Imp::VertexHandle* vh : m_d->vertices)
459 vh->updateShapes(m_d->controller);
461}

◆ updateStates()

void VP1Collection::updateStates ( VP1CollStates & state,
const VP1CollStates & newInfo )
staticinherited

Definition at line 118 of file VP1Collection.cxx.

119{
120 VP1Msg::messageDebug("VP1Collection::updateStates() - start...");
121 QMapIterator<QByteArray,QByteArray> it(newInfo);
122 while (it.hasNext()) {
123 it.next();
124 state.insert(it.key(),it.value());
125 }
126 VP1Msg::messageDebug("VP1Collection::updateStates() - end.");
127}

◆ verbose()

bool VP1HelperClassBase::verbose ( )
inlinestaticinherited

Definition at line 32 of file VP1HelperClassBase.h.

32{ return s_vp1verbose; } // Returns true if env var VP1_VERBOSE_OUTPUT=1
static const bool s_vp1verbose

◆ visibilityChanged

void VP1StdCollection::visibilityChanged ( bool )
signalinherited

◆ visible()

bool VP1StdCollection::visible ( ) const
inherited

Definition at line 142 of file VP1StdCollection.cxx.

143{
144 return m_d->visible;
145}

◆ warnUndeletedInstances()

void VP1HelperClassBase::warnUndeletedInstances ( )
staticinherited

Definition at line 183 of file VP1HelperClassBase.cxx.

184{
186 return;
187 std::cout << "WARNING: Detected "<<vp1helperclassbase_instanceMap.size()<<" undeleted helper class instances:"<<std::endl;
188
189 std::map<VP1HelperClassBase*,QString>::iterator it,itE(vp1helperclassbase_instanceMap.end());
190 for (it = vp1helperclassbase_instanceMap.begin();it!=itE;++it) {
191 std::cout << " ==> "<<it->first<<": "<<it->first->m_helpername.toStdString()
192 << (it->second.isEmpty()?QString(""):" (in system "+it->second+")").toStdString()<<std::endl;
193 }
194}

◆ widgetsForGuiRow()

QList< QWidget * > VP1Collection::widgetsForGuiRow ( ) const
virtualinherited

Definition at line 62 of file VP1Collection.cxx.

63{
64 if (!m_d->widgetsForGuiRowProvided) {
65 m_d->widgetsForGuiRowProvided = true;
66 m_d->widgetsForGuiRow = provideWidgetsForGuiRow();
67 }
68 return m_d->widgetsForGuiRow;
69}
virtual QList< QWidget * > provideWidgetsForGuiRow() const =0

Member Data Documentation

◆ m_colourby

COLOURBY VP1VertexCollection::m_colourby
private

Definition at line 76 of file VP1VertexCollection.h.

◆ m_d

Imp* VP1VertexCollection::m_d
private

Definition at line 75 of file VP1VertexCollection.h.

◆ m_helpername

QString VP1HelperClassBase::m_helpername
privateinherited

Definition at line 67 of file VP1HelperClassBase.h.

◆ m_system

IVP1System* VP1HelperClassBase::m_system
privateinherited

Definition at line 68 of file VP1HelperClassBase.h.

◆ s_vp1verbose

const bool VP1HelperClassBase::s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
staticprivateinherited

Definition at line 69 of file VP1HelperClassBase.h.


The documentation for this class was generated from the following files: