42#include <Inventor/C/errors/debugerror.h>
43#include <Inventor/nodes/SoSeparator.h>
44#include <Inventor/nodes/SoSwitch.h>
45#include <Inventor/nodes/SoMaterial.h>
60#if defined BUILDVP1LIGHT
105 m_d->theclass =
this;
106 m_d->updateGUICounter = 0;
107 m_d->collSettingsButton=0;
111 QString safetext(
text());
112 safetext.replace(
' ',
'_');
113 safetext.replace(
'[',
'_');
114 safetext.replace(
']',
'_');
115 safetext.replace(
'/',
'_');
116 safetext.replace(
'.',
'_');
117 safetext.replace(
',',
'_');
118 safetext.replace(
'<',
'_');
119 safetext.replace(
'>',
'_');
120 safetext.replace(
'&',
'_');
152 m_d->collSettingsButton->setMaterialText(
name());
171 m_d->handles.reserve(n);
179 message(
"ERROR - wrong handle type passed to MissingEtCollHandle::addHandle!");
182 m_d->handles.push_back(handle);
183 m_d->handlesList << handle;
189 m_d->itHandles =
m_d->handles.begin();
190 m_d->itHandlesEnd =
m_d->handles.end();
195 if (
m_d->itHandles==
m_d->itHandlesEnd)
198 return *(
m_d->itHandles++);
205 return m_d->handlesList;
232 connect(
m_d->collSettingsButton,SIGNAL(metSizeChanged(
int)),
this,SLOT(
setMetSize(
int)));
236 connect(
m_d->collSettingsButton,SIGNAL(cutAllowedPhiChanged(
const QList<VP1Interval>&)),
this,SLOT(
setCutAllowedPhi(
const QList<VP1Interval>&)));
263 if (!
m_d->collSettingsButton){
264 messageVerbose(
"MET - No collSettingsButton set! Can't call init(), so crash is imminent...");
265 throw std::runtime_error(
"MET - No collSettingsButton set!");
267 return *
m_d->collSettingsButton;
401 #if defined BUILDVP1LIGHT
403 if( !(
systemBase()->getEvent())->retrieve( coll,
name().toStdString()).isSuccess() ) {
404 QString errMsg =
"Failed to retrieve " +
name();
405 message(
"Error: Could not retrieve collection with key="+
name());
410 message(
"Error: Could not retrieve MET collection with key="+
name());
419 if( ! coll->hasStore() ) {
420 message(
"No auxiliary store got associated to the MET container with key: " +
name());
431 for ( it = coll->
begin() ; it != itEnd; ++it) {
432 m_d->possiblyUpdateGUI();
477 double phi = handle->phi();
481 if (phirange.contains(
phi)||phirange.contains(
phi+2*
M_PI)||phirange.contains(
phi-2*
M_PI)) {
495 messageVerbose(
"Not a MissingEtCollHandle. Check your code! Returning 'false'...");
554 messageDebug(
"MissingEtCollHandle::persistifiableState() - start...");
565 serialise.disableUnsavedChecks();
578 serialise.save(
m_d->collSettingsButton->saveState());
580 messageDebug(
"MissingEtCollHandle::persistifiableState() - end.");
581 return serialise.result();
592 messageDebug(
"Warning: Ignoring state with wrong version");
605 if (extraWidgetState!=QByteArray())
609 messageDebug(
"restoring material collection button...");
612 messageDebug(
"reset all caches storing values for cuts...");
Scalar phi() const
phi method
AODCollHandleBase(AODSysCommonData *, const QString &name, xAOD::Type::ObjectType)
const AODSysCommonData * common() const
void recheckCutStatusOfAllHandles()
void recheckCutStatusOfAllNotVisibleHandles()
void recheckCutStatusOfAllVisibleHandles()
void setExtraWidgetsState(const QByteArray &)
QByteArray extraWidgetsState() const
void setupSettingsFromController(const AODSystemController *)
void update3DObjectsOfAllHandles()
void collVisibilityChanged(bool)
const QString & name() const
DataModel_detail::const_iterator< DataVector > const_iterator
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.
QList< AODHandleBase * > handlesList
std::vector< MissingEtHandle * >::iterator itHandlesEnd
std::vector< MissingEtHandle * >::iterator itHandles
MissingEtCollHandle * theclass
std::vector< MissingEtHandle * > handles
MissingEtCollectionSettingsButton * collSettingsButton
const QList< VP1Interval > & getCutAllowedPhi()
MissingEtCollHandle(AODSysCommonData *, const QString &name, xAOD::Type::ObjectType type)
void setMetSize(int size)
void addHandle(AODHandleBase *)
virtual void init(VP1MaterialButtonBase *matBut=0)
const MissingEtCollectionSettingsButton & collSettingsButton() const
virtual bool cut(AODHandleBase *)
virtual ~MissingEtCollHandle()
void setState(const QByteArray &)
Provide specific implementation.
QByteArray persistifiableState() const
Provide specific implementation.
bool m_cut_phi_allwillfail
static QStringList availableCollections(IVP1System *)
virtual AODHandleBase * getNextHandle()
void setCutAllowedPhi(const QList< VP1Interval > &)
virtual void handleIterationBegin()
QList< VP1Interval > m_cut_allowedPhi
QList< AODHandleBase * > getHandlesList() const
virtual void hintNumberOfHandlesInEvent(unsigned)
virtual void setupSettingsFromControllerSpecific(const AODSystemController *)
For extensions specific to this collection.
void resetCachedValuesCuts()
Interface for non-const operations on an auxiliary store.
QByteArray restoreByteArray()
void disableUnrestoredChecks()
void restore(QCheckBox *sb)
void messageVerbose(const QString &) const
void message(const QString &) const
IVP1System * systemBase() const
void messageDebug(const QString &) const
static void messageVerbose(const QString &)
QStringList getKeys() const
virtual void init(VP1MaterialButtonBase *button=0)
void visibilityChanged(bool)
ObjectType
Type of objects that have a representation in the xAOD EDM.
@ Other
An object not falling into any of the other categories.
MissingETContainer_v1 MissingETContainer