34#include <Inventor/nodes/SoSeparator.h>
35#include <Inventor/nodes/SoMaterial.h>
36#include <Inventor/nodes/SoSwitch.h>
37#include "Inventor/nodes/SoDrawStyle.h"
38#include "Inventor/nodes/SoLightModel.h"
46#include <QTreeWidgetItem>
58 std::vector<IParticleHandleBase*>
handles;
63 std::vector<IParticleHandleBase*>::iterator
itHandles;
107 m_d->handles.reserve(n);
115 message(
"ERROR - wrong handle type passed to IParticleCollHandleBase::addHandle!");
118 m_d->handles.push_back(handle);
119 m_d->handlesList << handle;
125 m_d->itHandles =
m_d->handles.begin();
126 m_d->itHandlesEnd =
m_d->handles.end();
131 if (
m_d->itHandles==
m_d->itHandlesEnd)
135 return *(
m_d->itHandles++);
142 return m_d->handlesList;
153 message(
"ERROR! IParticleCollHandleBase::cut() - passed in a handle of the wrong type! ");
179 if (mom.mag2()!=0.0) {
200 if (phirange.contains(
phi)||phirange.contains(
phi+2*
M_PI)||phirange.contains(
phi-2*
M_PI)) {
209 messageVerbose(
"IParticleCollHandleBase::cut() - mom.mag2() == 0.0!!!");
213 messageVerbose(
"IParticleCollHandleBase::cut() - Returning true!");
230 double signMin = allowedpt.
lower()<0.0 ? -1.0 : 1.0;
231 double signMax = allowedpt.
upper()<0.0 ? -1.0 : 1.0;
232 double minptsq = allowedpt.
lower() == -std::numeric_limits<double>::infinity() ? -std::numeric_limits<double>::infinity() : signMin*(allowedpt.
lower()*allowedpt.
lower());
233 double maxptsq = allowedpt.
upper() == std::numeric_limits<double>::infinity() ? std::numeric_limits<double>::infinity() : signMax*(allowedpt.
upper()*allowedpt.
upper());
286 messageVerbose(
"IParticleCollHandleBase::setCutAllowedPhi() - signal received in setCutAllowedPhi.");
315 messageDebug(
"Warning: Ignoring state with wrong version");
325 if (extraWidgetState!=QByteArray())
332 messageDebug(
"IParticleCollHandleBase::persistifiableState() - start...");
339 serialise.disableUnsavedChecks();
351 messageDebug(
"IParticleCollHandleBase::persistifiableState() - end.");
352 return serialise.result();
Scalar phi() const
phi method
AODCollHandleBase(AODSysCommonData *, const QString &name, xAOD::Type::ObjectType)
void recheckCutStatusOfAllHandles()
void recheckCutStatusOfAllNotVisibleHandles()
void recheckCutStatusOfAllVisibleHandles()
void setExtraWidgetsState(const QByteArray &)
QByteArray extraWidgetsState() const
const QString & name() const
IParticleCollHandleBase * theclass
QList< AODHandleBase * > handlesList
std::vector< IParticleHandleBase * >::iterator itHandles
std::vector< IParticleHandleBase * > handles
std::vector< IParticleHandleBase * >::iterator itHandlesEnd
virtual void setState(const QByteArray &)
Provide specific implementation.
QList< VP1Interval > m_cut_allowedPhi
IParticleCollHandleBase(AODSysCommonData *, const QString &name, xAOD::Type::ObjectType)
VP1Interval m_cut_allowedPtSq
virtual AODHandleBase * getNextHandle()
virtual ~IParticleCollHandleBase()
virtual void handleIterationBegin()
void setCutAllowedPt(const VP1Interval &)
VP1Interval m_cut_allowedEta
virtual void hintNumberOfHandlesInEvent(unsigned)
virtual bool cut(AODHandleBase *)
QList< AODHandleBase * > getHandlesList() const
void setCutAllowedPhi(const QList< VP1Interval > &)
bool m_cut_etaptphi_allwillfail
void addHandle(AODHandleBase *)
void setCutAllowedEta(const VP1Interval &)
virtual QByteArray persistifiableState() const
Provide specific implementation.
virtual Amg::Vector3D momentum() const
QByteArray restoreByteArray()
void disableUnrestoredChecks()
void messageVerbose(const QString &) const
void message(const QString &) const
void messageDebug(const QString &) const
bool contains(const double &x) const
static double phiFromXY(const double &x, const double &y)
Eigen::Matrix< double, 3, 1 > Vector3D
ObjectType
Type of objects that have a representation in the xAOD EDM.