16#include <Inventor/C/errors/debugerror.h>
17#include <Inventor/nodes/SoMaterial.h>
18#include <Inventor/nodes/SoSeparator.h>
19#include <Inventor/nodes/SoCylinder.h>
20#include <Inventor/nodes/SoCone.h>
21#include <Inventor/nodes/SoTranslation.h>
22#include <Inventor/nodes/SoRotationXYZ.h>
31 SoSeparator * attachsep,
32 bool showID,
bool showCalo,
bool showMS);
58 bool showID,
bool showCalo,
bool showMS,
59 SoSeparator * attachsep,
61 : QObject(parent),
VP1HelperClassBase(sys,
"VP1TrackingVolumes"),
m_d(new
Imp(this,materialID, materialCalo, materialMS, attachsep, showID, showCalo, showMS))
73 m_d->sepCalo->unref();
79 std::cout<<
"m_d->attachSep"<<std::endl;
81 m_d->attachSep->unref();
100 theclass->messageVerbose(
"Building 3D objects");
102 sep =
new SoSeparator;
104 SoRotationXYZ * rotz =
new SoRotationXYZ;
105 rotz->axis.setValue(SoRotationXYZ::X);
106 rotz->angle.setValue(0.5*
M_PI);
109 sepID =
new SoSeparator;
120 calos =
new SoCylinder;
121 calos->radius.setValue(4250.0);
122 calos->height.setValue( 6779.0*2.0 );
125 sepMS =
new SoSeparator;
141 theclass->messageVerbose(
"Updating fields");
143 const bool save =
sep->enableNotify(
false);
167 sep->enableNotify(
true);
181 if (
m_d->attachSep->findChild(
m_d->sep)<0)
182 m_d->attachSep->addChild(
m_d->sep);
184 m_d->attachSep->removeChild(
m_d->sep);
203 if (
m_d->shownCalo==b)
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")
void messageVerbose(const QString &) const
SoCylinder * innerDetector
SoMaterial * materialCalo
VP1TrackingVolumes * theclass
void ensureInit3DObjects()
SoCylinder * muonSpectrometer
Imp(VP1TrackingVolumes *tc, SoMaterial *materialID, SoMaterial *materialCalo, SoMaterial *materialMS, SoSeparator *attachsep, bool showID, bool showCalo, bool showMS)
virtual ~VP1TrackingVolumes()
void setShownID(bool)
will attach/detach ID from sep depending on this
VP1TrackingVolumes(SoMaterial *materialID, SoMaterial *materialCalo, SoMaterial *materialMS, bool showID, bool showCalo, bool showMS, SoSeparator *attachsep, IVP1System *sys, QObject *parent=0)
void setShownCalo(bool)
will attach/detach Calo from sep depending on this
void setShownMS(bool)
will attach/detach MS from sep depending on this
void setShown(bool)
will attach/detach itself from attachsep depending on this