75 fV(t->Vx(), t->Vy(), t->Vz()),
76 fP(t->Px(), t->Py(), t->Pz()),
107 fV(t->Vx(), t->Vy(), t->Vz()),
108 fP(t->Px(), t->Py(), t->Pz()),
110 fBeta(t->
P()/t->Energy()),
250 for (
Int_t i = 0; i <
n; ++i, p += 3)
273 "pT=%.3f, pZ=%.3f\nV=(%.3f, %.3f, %.3f)",
304 std::back_insert_iterator<vPathMark_t>(
fPathMarks));
367 currP.
fX = pm->fP.fX; currP.
fY = pm->fP.fY; currP.
fZ = pm->fP.fZ;
380 currP.
fX -= pm->fP.fX; currP.
fY -= pm->fP.fY; currP.
fZ -= pm->fP.fZ;
385 if (p > dp) currP *= 1.0 - dp / p;
408 TEveVectorD vtopass = pm->fV + pm->fE*(pm->fE.Dot(delta));
418 if (p > dp) currP *= 1.0 - dp / p;
423 Warning(
"TEveTrack::MakeTrack",
"Failed to intersect plane for Cluster2D. Ignoring path-mark.");
437 if (p > dp) currP *= 1.0 - dp / p;
508 struct Cmp_pathmark_t
530 printf(
"TEveTrack '%s', number of path marks %d, label %d\n",
535 printf(
" %-9s p: %8f %8f %8f Vertex: %8e %8e %8e %g Extra:%8f %8f %8f\n",
537 pm->fP.fX, pm->fP.fY, pm->fP.fZ,
538 pm->fV.fX, pm->fV.fY, pm->fV.fZ,
539 pm->fE.fX, pm->fE.fY, pm->fE.fZ,
552 Emit(
"SecSelected(TEveTrack*)", (
Long_t)track);
577 fMinPt (0), fMaxPt (0), fLimPt (0),
578 fMinP (0), fMaxP (0), fLimP (0)
716 using namespace TMath;
718 if (x < 1
e-3)
return 1
e-3;
721 return Ceil(fac*x) / fac;
729 using namespace TMath;
1004 const Double_t minptsq = min_pt*min_pt;
1005 const Double_t maxptsq = max_pt*max_pt;
1010 Bool_t on = ptsq >= minptsq && ptsq <= maxptsq;
1011 (*i)->SetRnrState(on);
1022 const Double_t minptsq = min_pt*min_pt;
1023 const Double_t maxptsq = max_pt*max_pt;
1031 Bool_t on = ptsq >= minptsq && ptsq <= maxptsq;
1049 const Double_t minpsq = min_p*min_p;
1050 const Double_t maxpsq = max_p*max_p;
1055 Bool_t on = psq >= minpsq && psq <= maxpsq;
1056 (*i)->SetRnrState(psq >= minpsq && psq <= maxpsq);
1067 const Double_t minpsq = min_p*min_p;
1068 const Double_t maxpsq = max_p*max_p;
1076 Bool_t on = psq >= minpsq && psq <= maxpsq;
1091 if (((
TEveTrack*)(*i))->GetLabel() == label)
1114 if (((
TEveTrack*)(*i))->GetIndex() == index)
1161 TString t =
" " + var +
"->";
virtual void DecRefCount(TEveElement *re)
Decrease reference count and remove re from the list of back-references.
void SanitizeMinMaxCuts()
Set Min/Max cuts so that they are within detected limits.
void SetRnrPoints(Bool_t r)
Set rendering of track as points for the list and the elements.
virtual void SetTrackParams(const TEveTrack &t)
Copy track parameters from t.
Double_t Floor(Double_t x)
Bool_t GetFitDaughters() const
virtual void * GetUserData() const =0
Bool_t GetRnrLine() const
virtual void SetLineColor(Color_t c)
Set the line color.
void EditElement(TEveElement *element)
Show element in default editor.
void SetRnrPoints(Bool_t r)
Set rendering of points. Propagate to projected lines.
virtual void SetName(const char *name)
Change (i.e.
void SetRnrLine(Bool_t rnr)
Set rendering of track as line for the list and the elements.
An arbitrary polyline with fixed line and marker attributes.
virtual void SetLineWidth(Width_t w)
Set line width for the list and the elements.
Bool_t IntersectPlane(const TEveVectorD &p, const TEveVectorD &point, const TEveVectorD &normal, TEveVectorD &itsect)
Find intersection of currently propagated track with a plane.
Bool_t HasChildren() const
Description of the dynamic properties of a particle.
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
static const TGPicture * fgListTreeIcons[9]
TEveTrackList(const TEveTrackList &)
Size_t fMarkerSize
Marker size.
virtual Bool_t SetRnrState(Bool_t rnr)
Set render state of this element and of its children to the same value.
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
TGListTree * GetListTree() const
virtual void ClonePoints(const TEvePointSet &e)
Clone points and all point-related information from point-set 'e'.
Short_t Min(Short_t a, Short_t b)
vPathMark_t & RefPathMarks()
virtual void SetMarkerStyle(Style_t mstyle=1)
Set marker style, propagate to projecteds.
TEveTrackPropagator * fPropagator
Last path-mark index tried in track-propagation.
virtual void SetMarkerColor(Color_t c)
Set marker color for the list and the elements.
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write visualization parameters.
static const char * ToString(Bool_t b)
Convert Bool_t to string - kTRUE or kFALSE.
virtual void SetLineStyle(Style_t lstyle)
Set line-style of the line.
TRObject operator()(const T1 &t1) const
virtual void SetTitle(const char *t)
virtual Width_t GetLineWidth() const
Return the line width.
TGListTreeItem * GetSelected() const
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Bool_t GetFitDecay() const
virtual Style_t GetMarkerStyle() const
Return the marker style.
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
virtual Style_t GetLineStyle() const
Return the line style.
void SelectByP(Double_t min_p, Double_t max_p)
Select visibility of tracks by momentum.
void BBoxCheckPoint(Float_t x, Float_t y, Float_t z)
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write visualization parameters.
virtual Bool_t GoToLineSegment(const TEveVectorD &s, const TEveVectorD &r, TEveVectorD &p)
Propagate particle with momentum p to line with start point s and vector r to the second point...
virtual void SetMarkerStyle(Style_t s)
Set marker style for the list and the elements.
virtual const char * GetName() const
Return particle name.
virtual void SaveLineAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
Save line attributes as C++ statement(s) on output stream out.
virtual void MakeTrack(Bool_t recurse=kTRUE)
Calculate track representation based on track data and current settings of the propagator.
Double_t Log10(Double_t x)
A list of tracks supporting change of common attributes and selection based on track parameters...
virtual void SetMainColor(Color_t c)
Set main (line) color for the list and the elements.
void SetPropagator(TEveTrackPropagator *prop)
Set track's render style.
virtual Size_t GetMarkerSize() const
Return the marker size.
virtual void SaveMarkerAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1)
Save line attributes as C++ statement(s) on output stream out.
Base-class for non-linear projections.
Bool_t GetRnrPoints() const
virtual TClass * ProjectedClass(const TEveProjection *p) const
Virtual from TEveProjectable, returns TEveTrackListProjected class.
virtual void SetMarkerSize(Size_t msize=1)
Set marker size, propagate to projecteds.
virtual TClass * ProjectedClass(const TEveProjection *p) const
Virtual from TEveProjectable, return TEveTrackProjected class.
static Bool_t IsOutsideBounds(const TEveVectorD &point, Double_t maxRsqr, Double_t maxZ)
virtual Bool_t GoToVertex(TEveVectorD &v, TEveVectorD &p)
Propagate particle with momentum p to vertex v.
Style_t fMarkerStyle
Marker style.
TEveTrack * FindTrackByIndex(Int_t index)
Find track by index, select it and display it in the editor.
static TEveTrackPropagator fgDefault
virtual void SetLineColor(Color_t col)
Set the line color.
Style_t fLineStyle
Line style.
R__EXTERN TEveManager * gEve
virtual void SetLineWidth(Width_t lwidth)
Set line-style of the line.
Color_t fLineColor
Line color.
Width_t fLineWidth
Line width.
char * Form(const char *fmt,...)
vPathMark_t::const_iterator vPathMark_ci
void FillPointSet(TEvePointSet *ps) const
Reset ps and populate it with points in propagation cache.
Description of the static properties of a particle.
void BBoxZero(Float_t epsilon=0, Float_t x=0, Float_t y=0, Float_t z=0)
Create cube of volume (2*epsilon)^3 at (x,y,z).
virtual ~TEveTrackList()
Destructor.
The ROOT global object gROOT contains a list of all defined classes.
TEveTrack * FindTrackByLabel(Int_t label)
Find track by label, select it and display it in the editor.
virtual void SecSelected(TEveTrack *)
Emits "SecSelected(TEveTrack*)" signal.
Holding structure for a number of track rendering parameters.
Bool_t GetFitReferences() const
Visual representation of a track.
virtual void ComputeBBox()
Compute the bounding box of the track.
virtual void SetMainColor(Color_t color)
Set main color of the element.
Int_t GetCurrentPoint() const
Get index of current point on track.
void SelectByPt(Double_t min_pt, Double_t max_pt)
Select visibility of tracks by transverse momentum.
virtual void SetMarkerColor(Color_t col)
Set marker color. Propagate to projected lines.
void SetRnrLine(Bool_t r)
Set rendering of line. Propagate to projected lines.
virtual Color_t GetLineColor() const
Return the line color.
void ResetTrack()
Reset cache holding particle trajectory.
virtual void SetLineStyle(Style_t s)
Set line style for the list and the elements.
virtual void SetMarkerSize(Size_t s)
Set marker size for the list and the elements.
virtual void SetPathMarks(const TEveTrack &t)
Copy path-marks from t.
virtual const char * GetName() const
Returns name of object.
virtual const TGPicture * GetListTreeIcon(Bool_t open=kFALSE)
Returns list-tree icon for TEveTrack.
TParticlePDG * GetPDG(Int_t mode=0) const
Returns a pointer to the TParticlePDG object using the pdgcode.
TEveTrackPropagator * fPropagator
Bool_t GetFitLineSegments() const
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
Double_t RoundMomentumLimit(Double_t x)
Round the momentum limit up to a nice value.
void Reset(Int_t n_points=0, Int_t n_int_ids=0)
Drop all data and set-up the data structures to recive new data.
Binding & operator=(OUT(*fun)(void))
void SetPropagator(TEveTrackPropagator *prop)
Set default propagator for tracks.
Bool_t GetRnrLine() const
TEveTrack()
Default constructor.
Short_t Max(Short_t a, Short_t b)
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write-out visual parameters for this object.
TEveGListTreeEditorFrame * GetLTEFrame() const
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Double_t Ceil(Double_t x)
void MakeTracks(Bool_t recurse=kTRUE)
Regenerate the visual representations of tracks.
Exception class thrown by TEve classes and macros.
virtual void SetStdTitle()
Set standard track title based on most data-member values.
Double_t GetTrackLength(Int_t start_point=0, Int_t end_point=-1) const
Calculate track length from start_point to end_point.
virtual ~TEveTrack()
Destructor.
virtual TGListTreeItem * FindListTreeItem(TGListTree *ltree)
Find any list-tree-item of this element in list-tree 'ltree'.
void SortPathMarksByTime()
Sort registered pat-marks by time.
void SetAttLineAttMarker(TEveTrackList *tl)
Set line and marker attributes from TEveTrackList.
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
virtual Color_t GetMarkerColor() const
Return the marker color.
void PrintPathMarks()
Print registered path-marks.
virtual const char * GetName() const
Returns name of object.
void HighlightItem(TGListTreeItem *item)
Highlight item.
virtual void IncRefCount(TEveElement *re)
Increase reference count and add re to the list of back-references.
Color_t fMarkerColor
Marker color.
Bool_t GetRnrPoints() const
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
void BBoxInit(Float_t infinity=1e6)
Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
vPathMark_t::iterator vPathMark_i
virtual Int_t Size() const
void InitTrack(const TEveVectorD &v, Int_t charge)
Initialize internal data-members for given particle parameters.
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write visualization parameters.
virtual void GoToBounds(TEveVectorD &p)
Propagate particle to bounds.
void FindMomentumLimits(TEveElement *el, Bool_t recurse=kTRUE)
Loop over track elements of argument el and find highest pT and p.
void SetSelected(TGListTreeItem *item)
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
Bool_t GetFitCluster2Ds() const
const char * Data() const