14 #include <osg/ref_ptr>
16 #include <osg/Drawable>
17 #include <osgText/Text>
45 Magnet(
const PaMagInfo& magInfo,
const std::string& name_,
const std::string& model_ )
60 Target(
const PaSetup& setup,
const int ncells_,
const std::vector<float>& polarization_)
66 z = setup.TargetCenterZ();
67 if(
z == -35.0 ) cout <<
"WARNING: Possibly target z position is not stored in mDST and default of -35cm is used." << endl;
79 PhastNode(
const PaDetect& det , osg::Vec4 color=osg::Vec4(1.f,1.f,1.f,1.f) );
81 PhastNode(
const PaCalorimeter& cal , osg::Vec4 color=osg::Vec4(1.f,1.f,1.f,1.f) );
83 PhastNode(
const PaRich& rich , osg::Vec4 color=osg::Vec4(1.f,1.f,1.f,1.f) );
86 PhastNode(
const PaTrack& track, osg::Vec4 color=osg::Vec4(1.f,1.f,1.f,1.f) );
92 PhastNode(
const Magnet& magnet, osg::Vec4 color=osg::Vec4(1.f,1.f,1.f,1.f) );
93 PhastNode(
const Target& target, osg::Vec4 color=osg::Vec4(1.f,1.f,1.f,1.f) );
114 std::string
getName()
const {
return m_name; }
131 virtual bool onSelect(
bool select );
132 virtual const std::string&
toolTip( osg::Node* );
138 virtual bool isPickable( osg::Node* node ) {
return node != _shadow.get(); }
152 void init(
int type,
const std::string& name );
157 osg::ref_ptr<osg::Switch> _switch;
159 osg::ref_ptr<osg::Node> _solid;
160 osg::ref_ptr<osg::Node> _outlines;
161 osg::ref_ptr<osg::Node> _shadow;
163 osg::ref_ptr<osg::Node> _highlight;
166 static int s_nextUID;
167 static int createUID() {
return s_nextUID++; }
virtual bool isPickable(osg::Node *node)
Definition: PhastNode.h:138
std::string getName() const
Return name (matches Phast object's name if node corresponds to a Phast object)
Definition: PhastNode.h:114
Magnet(const PaMagInfo &magInfo, const std::string &name_, const std::string &model_)
Definition: PhastNode.h:45
bool isCluster()
Definition: PhastNode.h:107
Type
Definition: PhastNode.h:38
Definition: Selectable.h:15
void assemble()
Assemble switch node with geometry nodes (last call in constructor)
Definition: PhastNode.cpp:57
osg::Node * createWireframe(osg::Node *node)
Definition: PhastNode.cpp:534
void setAlpha(float alpha)
Change alpha value of this node and all its children.
Definition: PhastNode.cpp:570
Definition: PhastNode.h:38
void init(int type, const std::string &name)
Setup uid, type and name (first call in constructor)
Definition: PhastNode.cpp:47
std::string name
Definition: PhastNode.h:53
int ncells
Definition: PhastNode.h:70
int getUID() const
Return unique PhastNode index (e.g. usefull for mapping a PhastNode to a QTreeWidget item) ...
Definition: PhastNode.h:117
bool isSetupEntity()
Definition: PhastNode.h:98
osg::Node * createShadow(osg::Node *)
Definition: PhastNode.h:147
bool isRich()
Definition: PhastNode.h:104
double x
Definition: PhastNode.h:71
Definition: PhastNode.h:38
vector< float > polarization
Definition: PhastNode.h:72
double z
Definition: PhastNode.h:55
void highlight(bool highlighted)
Definition: PhastNode.cpp:604
bool isTrack()
Definition: PhastNode.h:106
Definition: PhastNode.h:43
Definition: PhastNode.h:38
virtual const std::string & toolTip(osg::Node *)
Definition: PhastNode.cpp:636
Graphical representation of Phast objects (e.g. PaDetector, PaTrack, ...) as OpenSceneGraph node...
Definition: PhastNode.h:32
double y
Definition: PhastNode.h:71
virtual bool onHighlight(bool highlight)
Definition: PhastNode.cpp:626
Definition: PhastNode.h:38
Definition: PhastNode.h:38
bool isEventEntity()
Definition: PhastNode.h:99
bool isCalorimeter()
Definition: PhastNode.h:103
void createSimplifiedGeometry(osg::Vec4)
Definition: PhastNode.h:149
virtual bool onSelect(bool select)
Definition: PhastNode.cpp:617
Definition: PhastNode.h:38
bool isGroup()
Definition: PhastNode.h:101
Target(const PaSetup &setup, const int ncells_, const std::vector< float > &polarization_)
Definition: PhastNode.h:60
Definition: PhastNode.h:39
PhastNode()
Constructor for a GROUP node.
Definition: PhastNode.cpp:70
void setColor(osg::Vec3 color)
Change color of this node and all its children.
Definition: PhastNode.cpp:549
bool isTarget()
Definition: PhastNode.h:110
Definition: PhastNode.h:58
bool isDetector()
Definition: PhastNode.h:102
void setVisible(bool visible)
Change visibility of this node and its subtree.
Definition: PhastNode.cpp:589
std::string name
Definition: PhastNode.h:69
osg::Geode * createHighlightBox(osg::BoundingBox bbox)
Definition: PhastNode.cpp:524
bool isMagnet()
Definition: PhastNode.h:109
Definition: PhastNode.h:38
std::string model
Definition: PhastNode.h:54
double y
Definition: PhastNode.h:55
double z
Definition: PhastNode.h:71
double x
Definition: PhastNode.h:55