71 fV(t->Vx(), t->Vy(), t->Vz()),
72 fP(t->Px(), t->Py(), t->Pz()),
74 fBeta(t->P()/t->Energy()),
103 fV(t->Vx(), t->Vy(), t->Vz()),
104 fP(t->Px(), t->Py(), t->Pz()),
106 fBeta(t->P()/t->Energy()),
269 "pT=%.3f, pZ=%.3f\nV=(%.3f, %.3f, %.3f)",
300 std::back_insert_iterator<vPathMark_t>(
fPathMarks));
363 currP.
fX = pm->fP.fX; currP.
fY = pm->fP.fY; currP.
fZ = pm->fP.fZ;
376 currP.
fX -= pm->fP.fX; currP.
fY -= pm->fP.fY; currP.
fZ -= pm->fP.fZ;
381 if (p > dp) currP *= 1.0 - dp / p;
404 TEveVectorD vtopass = pm->fV + pm->fE*(pm->fE.Dot(delta));
414 if (p > dp) currP *= 1.0 - dp / p;
419 Warning(
"TEveTrack::MakeTrack",
"Failed to intersect plane for Cluster2D. Ignoring path-mark.");
433 if (p > dp) currP *= 1.0 - dp / p;
504 struct Cmp_pathmark_t
507 {
return a.fTime <
b.fTime; }
526 printf(
"TEveTrack '%s', number of path marks %d, label %d\n",
531 printf(
" %-9s p: %8f %8f %8f Vertex: %8e %8e %8e %g Extra:%8f %8f %8f\n",
533 pm->fP.fX, pm->fP.fY, pm->fP.fZ,
534 pm->fV.fX, pm->fV.fY, pm->fV.fZ,
535 pm->fE.fX, pm->fE.fY, pm->fE.fZ,
712 using namespace TMath;
714 if (
x < 1
e-3)
return 1
e-3;
717 return Ceil(fac*
x) / fac;
725 using namespace TMath;
1000 const Double_t minptsq = min_pt*min_pt;
1001 const Double_t maxptsq = max_pt*max_pt;
1006 Bool_t on = ptsq >= minptsq && ptsq <= maxptsq;
1007 (*i)->SetRnrState(
on);
1018 const Double_t minptsq = min_pt*min_pt;
1019 const Double_t maxptsq = max_pt*max_pt;
1027 Bool_t on = ptsq >= minptsq && ptsq <= maxptsq;
1045 const Double_t minpsq = min_p*min_p;
1046 const Double_t maxpsq = max_p*max_p;
1051 Bool_t on = psq >= minpsq && psq <= maxpsq;
1052 (*i)->SetRnrState(psq >= minpsq && psq <= maxpsq);
1063 const Double_t minpsq = min_p*min_p;
1064 const Double_t maxpsq = max_p*max_p;
1072 Bool_t on = psq >= minpsq && psq <= maxpsq;
1096 gEve->EditElement(*
i);
1119 gEve->EditElement(*
i);
1134 TAttMarker::operator=(*
m);
1135 TAttLine::operator=(*
m);
1159 TAttLine ::SaveLineAttributes (out, var);
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
R__EXTERN TEveManager * gEve
TEvePathMarkT< Double_t > TEvePathMarkD
TEveRecTrackT< Float_t > TEveRecTrack
TEveRecTrackT< Double_t > TEveRecTrackD
TEveVectorT< Double_t > TEveVectorD
Option_t Option_t SetLineWidth
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h prop
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
Option_t Option_t SetLineColor
Option_t Option_t SetMarkerStyle
TRObject operator()(const T1 &t1) const
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
void BBoxCheckPoint(Float_t x, Float_t y, Float_t z)
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).
void BBoxInit(Float_t infinity=1e6)
Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
virtual Color_t GetLineColor() const
Return the line color.
virtual Width_t GetLineWidth() const
Return the line width.
Width_t fLineWidth
Line width.
TAttLine()
AttLine default constructor.
virtual Style_t GetLineStyle() const
Return the line style.
Style_t fLineStyle
Line style.
Color_t fLineColor
Line color.
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.
virtual Style_t GetMarkerStyle() const
Return the marker style.
virtual Color_t GetMarkerColor() const
Return the marker color.
Color_t fMarkerColor
Marker color.
virtual Size_t GetMarkerSize() const
Return the marker size.
TAttMarker()
TAttMarker default constructor.
Size_t fMarkerSize
Marker size.
Style_t fMarkerStyle
Marker style.
TClass instances represent classes, structs and namespaces in the ROOT type system.
TEveElementList(const char *n="TEveElementList", const char *t="", Bool_t doColor=kFALSE, Bool_t doTransparency=kFALSE)
Constructor.
Bool_t HasChildren() const
virtual TGListTreeItem * FindListTreeItem(TGListTree *ltree)
Find any list-tree-item of this element in list-tree 'ltree'.
virtual void SetMainColor(Color_t color)
Set main color of the element.
virtual Bool_t SetRnrState(Bool_t rnr)
Set render state of this element and of its children to the same value.
TEveElement()
Default constructor.
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
static const char * ToString(Bool_t b)
Convert Bool_t to string - kTRUE or kFALSE.
static const TGPicture * fgListTreeIcons[9]
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write-out visual parameters for this object.
Exception class thrown by TEve classes and macros.
void SetLineColor(Color_t col) override
Set the line color.
void SetLineStyle(Style_t lstyle) override
Set line-style of the line.
Bool_t GetRnrPoints() const
void SetLineWidth(Width_t lwidth) override
Set line-style of the line.
void SetRnrLine(Bool_t r)
Set rendering of line. Propagate to projected lines.
TEveLine(const TEveLine &)
void WriteVizParams(std::ostream &out, const TString &var) override
Write visualization parameters.
Bool_t GetRnrLine() const
void CopyVizParams(const TEveElement *el) override
Copy visualization parameters from element el.
void SetMarkerColor(Color_t col) override
Set marker color. Propagate to projected lines.
void SetRnrPoints(Bool_t r)
Set rendering of points. Propagate to projected lines.
virtual void ClonePoints(const TEvePointSet &e)
Clone points and all point-related information from point-set 'e'.
virtual void SetTitle(const char *t)
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.
void SetMarkerStyle(Style_t mstyle=1) override
Set marker style, propagate to projecteds.
void SetMarkerSize(Size_t msize=1) override
Set marker size, propagate to projecteds.
Base-class for non-linear projections.
A list of tracks supporting change of common attributes and selection based on track parameters.
TClass * ProjectedClass(const TEveProjection *p) const override
Virtual from TEveProjectable, returns TEveTrackListProjected class.
void SetPropagator(TEveTrackPropagator *prop)
Set default propagator for tracks.
void SelectByP(Double_t min_p, Double_t max_p)
Select visibility of tracks by momentum.
void SetRnrPoints(Bool_t r)
Set rendering of track as points for the list and the elements.
void SetMarkerStyle(Style_t s) override
Set marker style for the list and the elements.
void SanitizeMinMaxCuts()
Set Min/Max cuts so that they are within detected limits.
Bool_t GetRnrLine() const
void SetLineStyle(Style_t s) override
Set line style for the list and the elements.
void SetMarkerColor(Color_t c) override
Set marker color for the list and the elements.
~TEveTrackList() override
Destructor.
TEveTrackPropagator * fPropagator
void SetLineWidth(Width_t w) override
Set line width for the list and the elements.
TEveTrack * FindTrackByIndex(Int_t index)
Find track by index, select it and display it in the editor.
Bool_t GetRnrPoints() const
void SetMainColor(Color_t c) override
Set main (line) color for the list and the elements.
TEveTrackList(const TEveTrackList &)
void WriteVizParams(std::ostream &out, const TString &var) override
Write visualization parameters.
void SetLineColor(Color_t c) override
Set the line color.
void SelectByPt(Double_t min_pt, Double_t max_pt)
Select visibility of tracks by transverse momentum.
TEveTrack * FindTrackByLabel(Int_t label)
Find track by label, select it and display it in the editor.
void SetMarkerSize(Size_t s) override
Set marker size for the list and the elements.
void MakeTracks(Bool_t recurse=kTRUE)
Regenerate the visual representations of tracks.
void CopyVizParams(const TEveElement *el) override
Copy visualization parameters from element el.
Double_t RoundMomentumLimit(Double_t x)
Round the momentum limit up to a nice value.
void SetRnrLine(Bool_t rnr)
Set rendering of track as line for the list and the elements.
void FindMomentumLimits(TEveElement *el, Bool_t recurse=kTRUE)
Loop over track elements of argument el and find highest pT and p.
Holding structure for a number of track rendering parameters.
Bool_t GetFitCluster2Ds() const
virtual void GoToBounds(TEveVectorD &p)
Propagate particle to bounds.
void ResetTrack()
Reset cache holding particle trajectory.
Bool_t GetFitDaughters() const
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 GetFitLineSegments() const
static Bool_t IsOutsideBounds(const TEveVectorD &point, Double_t maxRsqr, Double_t maxZ)
Double_t GetTrackLength(Int_t start_point=0, Int_t end_point=-1) const
Calculate track length from start_point to end_point.
Bool_t GetFitDecay() const
virtual Bool_t GoToVertex(TEveVectorD &v, TEveVectorD &p)
Propagate particle with momentum p to vertex v.
Int_t GetCurrentPoint() const
Get index of current point on track.
Bool_t GetFitReferences() const
void FillPointSet(TEvePointSet *ps) const
Reset ps and populate it with points in propagation cache.
static TEveTrackPropagator fgDefault
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.
void InitTrack(const TEveVectorD &v, Int_t charge)
Initialize internal data-members for given particle parameters.
Visual representation of a track.
vPathMark_t::iterator vPathMark_i
void ComputeBBox() override
Compute the bounding box of the track.
virtual void SecSelected(TEveTrack *)
Emits "SecSelected(TEveTrack*)" signal.
void SetPropagator(TEveTrackPropagator *prop)
Set track's render style.
vPathMark_t & RefPathMarks()
virtual void MakeTrack(Bool_t recurse=kTRUE)
Calculate track representation based on track data and current settings of the propagator.
TEveTrackPropagator * fPropagator
Last path-mark index tried in track-propagation.
vPathMark_t::const_iterator vPathMark_ci
TClass * ProjectedClass(const TEveProjection *p) const override
Virtual from TEveProjectable, return TEveTrackProjected class.
void SetAttLineAttMarker(TEveTrackList *tl)
Set line and marker attributes from TEveTrackList.
const TGPicture * GetListTreeIcon(Bool_t open=kFALSE) override
Returns list-tree icon for TEveTrack.
virtual void SetPathMarks(const TEveTrack &t)
Copy path-marks from t.
void SortPathMarksByTime()
Sort registered pat-marks by time.
void PrintPathMarks()
Print registered path-marks.
~TEveTrack() override
Destructor.
TEveTrack()
Default constructor.
void CopyVizParams(const TEveElement *el) override
Copy visualization parameters from element el.
virtual void SetTrackParams(const TEveTrack &t)
Copy track parameters from t.
friend class TEveTrackPropagator
virtual void SetStdTitle()
Set standard track title based on most data-member values.
friend class TEveTrackList
void WriteVizParams(std::ostream &out, const TString &var) override
Write visualization parameters.
virtual void * GetUserData() const =0
A list tree is a widget that can contain a number of items arranged in a tree structure.
TGListTreeItem * GetSelected() const
void SetSelected(TGListTreeItem *item)
void HighlightItem(TGListTreeItem *item)
Highlight item.
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
virtual const char * GetName() const
Returns name of object.
Description of the static properties of a particle.
Description of the dynamic properties of a particle.
TParticlePDG * GetPDG(Int_t mode=0) const
Returns a pointer to the TParticlePDG object using the pdgcode.
const char * GetName() const override
Return particle name.
const char * GetName() const override
Returns name of object.
virtual Int_t Size() const
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
const char * Data() const
Int_t Nint(T x)
Round to nearest integer. Rounds half integers to the nearest even integer.
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Double_t Floor(Double_t x)
Rounds x downward, returning the largest integral value that is not greater than x.
Double_t Ceil(Double_t x)
Rounds x upward, returning the smallest integral value that is not less than x.
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Returns x raised to the power y.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
Double_t Log10(Double_t x)
Returns the common (base-10) logarithm of x.