21#include <Inventor/C/errors/debugerror.h>
22#include <Inventor/nodes/SoLineSet.h>
23#include <Inventor/nodes/SoPointSet.h>
24#include <Inventor/nodes/SoVertexProperty.h>
25#include <Inventor/nodes/SoMaterial.h>
26#include <Inventor/nodes/SoCone.h>
27#include <Inventor/nodes/SoSeparator.h>
28#include <Inventor/nodes/SoTranslation.h>
29#include <Inventor/nodes/SoRotationXYZ.h>
30#include <Inventor/nodes/SoScale.h>
31#include <Inventor/nodes/SoDrawStyle.h>
32#include <Inventor/nodes/SoCoordinate3.h>
33#include <Inventor/nodes/SoGroup.h>
35#include <Inventor/SoPath.h>
43 #include "GeoModelKernel/Units.h"
44 #define SYSTEM_OF_UNITS GeoModelKernelUnits
46 #include "GaudiKernel/SystemOfUnits.h"
47 #define SYSTEM_OF_UNITS Gaudi::Units
68 SoSeparator *
sep =
nullptr;
91 QString
name()
const {
return QString::fromStdString(
m_met->name() ); }
120 m_d->theclass =
this;
128 m_d->theCollHandle = 0;
136 if (
m_d->cone)
m_d->cone->unref();
137 if (
m_d->base)
m_d->base->unref();
138 if (
m_d->sep)
m_d->sep->unref();
160 return 0 !=
m_d->sep;
199 m_d->sep =
new SoSeparator();
204 m_d->theCollSettingsButton = &(
m_d->theCollHandle->collSettingsButton());
222 m_d->createShapeFromJetParameters();
229 m_d->updateConeHeightParameters();
243 double length =
m_met->met() * (200.0 * SYSTEM_OF_UNITS::cm /(100.0 * SYSTEM_OF_UNITS::GeV ));
253 sep =
new SoSeparator();
257 SoGroup * dash =
new SoGroup();
259 SoRotationXYZ *
r =
new SoRotationXYZ();
260 r->axis=SoRotationXYZ::Z;
264 SoTranslation *t=
new SoTranslation();
265 t->translation.setValue(0, 0, 0);
269 SoDrawStyle *drawStyle =
new SoDrawStyle;
270 drawStyle->style.setValue(SoDrawStyle::LINES);
271 drawStyle->lineWidth.setValue(1. *
thickness);
272 drawStyle->linePattern.setValue(0xFF00);
273 dash->addChild(drawStyle);
276 SoCoordinate3 *coords =
new SoCoordinate3;
277 SbVec3f* vert =
new SbVec3f[2];
278 vert[0] = SbVec3f(0.0, 0.0, 0.0);
280 coords->point.setValues(0, 2, vert);
282 dash->addChild(coords);
284 SoLineSet *lineSet =
new SoLineSet ;
285 lineSet->numVertices.set1Value(0, 2) ;
286 dash->addChild(lineSet);
290 base =
new SoGroup();
291 base->addChild(dash);
316 cone->bottomRadius = 50.;
317 trans->translation = SbVec3f(0,-0.5*
h,0);
320 SbString strHeight, strRadius;
322 (
cone->bottomRadius).
get(strRadius);
323 std::cout <<
"input - energy: " << energy <<
" - scale: " <<
scale <<
" - maxR: " <<
maxR <<
" - h: " <<
h <<
" --- updated cone - height: " << strHeight.getString() <<
" - bottom radius: " << strRadius.getString() << std::endl;
343 if (
sep->getNumChildren()<6) {
371 l <<
"--MissingEt: ";
378 l +=
" - Name: " +
m_d->name();
379 l +=
" - MissingEt: " + QString::number(
m_d->met() / SYSTEM_OF_UNITS::GeV) +
" [GeV]";
380 l +=
" - Phi: " + QString::number(
m_d->phi());
381 l +=
" - SumEt: " + QString::number(
m_d->sumet() / SYSTEM_OF_UNITS::GeV) +
" [GeV]";
382 l +=
" - mpx: " + QString::number(
m_d->mpx() / SYSTEM_OF_UNITS::GeV) +
" [GeV]" ;
383 l +=
" - mpy: " + QString::number(
m_d->mpy() / SYSTEM_OF_UNITS::GeV) +
" [GeV]";
443 l +=
", met: " + QString::number(
m_d->met() / SYSTEM_OF_UNITS::GeV) +
" [GeV]";
444 l +=
", phi: " + QString::number(
m_d->phi());
461 TSOSitem->setText(0, QString(
"Info: " ) );
463 QString dParameters(
"(");
467 dParameters+=
"name: ";
468 dParameters+=
m_d->name();
469 dParameters+=
", met: ";
470 dParameters+=QString::number(
m_d->met());
471 dParameters+=
", phi: ";
472 dParameters+=QString::number(
m_d->phi());
473 dParameters+=
", sumet: ";
474 dParameters+=QString::number(
m_d->sumet());
480 dParameters +=
" [more info in the main Message Box]";
482 TSOSitem->setText(1, dParameters );
Base class for all AOD object collections This class primarily handles setting up the interface,...
const AODCollHandleBase * collHandle() const
QTreeWidgetItem * browserTreeItem() const
Return the QTreeWidgetItem;.
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Create and fill the object browser QTreeWidgetItem.
AODHandleBase(AODCollHandleBase *)
Header file for AthHistogramAlgorithm.
const MissingEtCollectionSettingsButton * theCollSettingsButton
MissingEtHandle * theclass
const MissingEtCollHandle * theCollHandle
const xAOD::MissingET * m_met
void updateConeHeightParameters() const
void createShapeFromJetParameters()
virtual SoMaterial * determineMaterial()
Should be implemented by children, in order to change the material depending on the interface etc.
virtual bool has3DObjects()
Returns true if the 3D objects have been created.
void setScale(const double &sc)
void fillObjectBrowser(QList< QTreeWidgetItem * > &listOfItems)
This gives the list of object's properties, shown in the 'Information' field in the Browser,...
virtual void clear3DObjects()
Delete objects.
virtual SoNode * nodes()
Returns the 3Dobjects.
virtual QStringList clicked() const
This gives the complete information about the object, shown in the main Message Box.
QString shortInfo() const
This returns the information shown about the object in the object browser.
virtual ~MissingEtHandle()
MissingEtHandle(AODCollHandleBase *, const xAOD::MissingET *)
static void messageVerbose(const QString &)
static void messageDebug(const QString &)
SoMaterial * material() const
static QString str(const QString &s)
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
MissingET_v1 MissingET
Version control by type defintion.