24 class TEveStraightLineSet;
35 #include "gearimpl/Vectors.h"
44 #include "EVENT/TrackerHit.h"
52 class LCCollectionVec;
131 VisTPC(gear::GearMgr * aGearMgr = 0);
144 std::map<std::string, int>::iterator it =
options.find(option);
147 throw "Option not found";
175 void drawModule(gear::TPCModule* aModule, TEveElement* parent = NULL);
178 void drawPads(gear::TPCModule* aModule, TEveElement* parent = NULL);
201 void drawEvent(EVENT::LCEvent* event, std::vector<std::string> &selectedEntries, TEveElement* parent = NULL,
const char* name =
"Event");
202 void drawEvent(EVENT::LCEvent* event, TList &selectedEntries, TEveElement* parent = NULL,
const char* name =
"Event");
203 void drawHit(EVENT::TrackerHit* hit, TEvePointSet* parent,
int wantTooltip =
false);
204 TEveElement*
drawHits(IMPL::LCCollectionVec* hits,
int wantTooltip =
true);
205 TEveElement*
drawHits(
const EVENT::TrackerHitVec& hits,
int wantTooltip =
true);
206 TEveElement*
drawPulses(IMPL::LCCollectionVec* pulses);
207 TEveElement*
drawTracks(IMPL::LCCollectionVec* tracks, TEveElement* parent = NULL);
221 void drawCircularPolygon(TEveStraightLineSet* ls,
float r,
float phi_min,
float phi_max,
int nDivisions,
float z);
223 void drawPadBox(
const PadMetric& pad,
float z_front,
float z_back, TEveBoxSet* bs);
224 void drawPadQuad(
const PadMetric& pad,
float z, TEveQuadSet* qs);
233 void getGlobalPadMetric(
const gear::TPCModule * aModule,
const int padIndex, PadMetric& pad);
240 void getLocalPadMetric(
const gear::TPCModule * aModule,
const int padIndex, PadMetric& pad);
248 void toGlobal(
const gear::TPCModule * aModule, TEveElement* element);
262 void drawNearestPad(
const gear::TPCModule& aModule, TEveElement* parent,
int padIndex,
const gear::Vector2D& position,
int i);
299 std::map<std::string, TGeoMedium*>
media;
void drawModule(gear::TPCModule *aModule, TEveElement *parent=NULL)
TEveElement * drawTracks(IMPL::LCCollectionVec *tracks, TEveElement *parent=NULL)
void testNearestPadGlobal()
void drawPadBox(const PadMetric &pad, float z_front, float z_back, TEveBoxSet *bs)
std::map< std::string, TGeoMedium * > media
void toGlobal(const gear::TPCModule *aModule, TEveElement *element)
Transform a TEveElement to the global coordinate system of the detector using OpenGL matrix transform...
void setMaxPoints(int points)
TEveElement * drawHits(IMPL::LCCollectionVec *hits, int wantTooltip=true)
void drawPadQuad(const PadMetric &pad, float z, TEveQuadSet *qs)
void drawNearestPad(const gear::TPCModule &aModule, TEveElement *parent, int padIndex, const gear::Vector2D &position, int i)
Main visualization class. It is used to draw GEAR detector geometries and LCIO data. It is a self-contained class that depends only on ROOT, TEve, GEAR and LCIO. This means you can use this class outside and independent of BBQ.
The PadMetric is used for holding the geometric properties of a pad.
float corners_cartesian[8]
void testLeftRightNeighbour(int moduleID=0)
void setMaxDriftLength(float length)
void testNearestPad(int moduleID=0)
std::map< std::string, int > options
float maxDriftLength
This is used for the z-position of the endcap/modules.
void setDriftVelocity(float velocity)
void drawCircularPolygon(TEveStraightLineSet *ls, float r, int nDivisions, float z)
void drawTwoConnectingPads(const gear::TPCModule &aModule, TEveElement *parent, int pad1, int pad2, LeftRight_enum leftright)
std::map< std::string, TGeoMaterial * > materials
float outerFieldCageRadius
Radius of the outer field cage cylinder.
TEveElement * drawPulses(IMPL::LCCollectionVec *pulses)
void updateGearMgr(gear::GearMgr *aGearMgr)
A function to update the vistpc with information from a new gear file.
std::map< std::string, TGeoVolume * > volumes
void getGlobalPadMetric(const gear::TPCModule *aModule, const int padIndex, PadMetric &pad)
Get the pad geometric properties in the global coordinate system of the detector. ...
VisTPC(gear::GearMgr *aGearMgr=0)
void testNearestPadGlobalWithPoints(const std::vector< gear::Vector2D > &points)
const LCCollectionType_enum getCollectionType(const std::string &)
void drawModules(TEveElement *parent=NULL)
gear::TPCParameters const * tpcParameters
void testLeftRightNeighbourWithPads(int moduleID, const std::vector< int > &pads, LeftRight_enum leftright)
float innerFieldCageRadius
Radius of the inner field cage cylinder.
int getOption(std::string &option)
void getLocalPadMetric(const gear::TPCModule *aModule, const int padIndex, PadMetric &pad)
Get the pad geometric properties in the local coordinate system of the module.
void drawHit(EVENT::TrackerHit *hit, TEvePointSet *parent, int wantTooltip=false)
float getMaxDriftLength()
float getReadoutFrequency()
void drawEvent(EVENT::LCEvent *event, std::vector< std::string > &selectedEntries, TEveElement *parent=NULL, const char *name="Event")
void setOption(std::string option, int value)
void setReadoutFrequency(float frequency)
void drawPads(gear::TPCModule *aModule, TEveElement *parent=NULL)
void testNearestPadWithPoints(int moduleID, const std::vector< gear::Vector2D > &points)