70 fV(t->Vx(), t->Vy(), t->Vz()),
71 fP(t->Px(), t->Py(), t->Pz()),
73 fBeta(t->P()/t->Energy()),
102 fV(t->Vx(), t->Vy(), t->Vz()),
103 fP(t->Px(), t->Py(), t->Pz()),
105 fBeta(t->P()/t->Energy()),
245 for (
Int_t i = 0; i <
n; ++i, p += 3)
268 "pT=%.3f, pZ=%.3f\nV=(%.3f, %.3f, %.3f)",
299 std::back_insert_iterator<vPathMark_t>(
fPathMarks));
362 currP.
fX = pm->fP.fX; currP.
fY = pm->fP.fY; currP.
fZ = pm->fP.fZ;
375 currP.
fX -= pm->fP.fX; currP.
fY -= pm->fP.fY; currP.
fZ -= pm->fP.fZ;
380 if (p > dp) currP *= 1.0 - dp / p;
403 TEveVectorD vtopass = pm->fV + pm->fE*(pm->fE.Dot(delta));
413 if (p > dp) currP *= 1.0 - dp / p;
418 Warning(
"TEveTrack::MakeTrack",
"Failed to intersect plane for Cluster2D. Ignoring path-mark.");
432 if (p > dp) currP *= 1.0 - dp / p;
503 struct Cmp_pathmark_t
506 {
return a.fTime <
b.fTime; }
525 printf(
"TEveTrack '%s', number of path marks %d, label %d\n",
530 printf(
" %-9s p: %8f %8f %8f Vertex: %8e %8e %8e %g Extra:%8f %8f %8f\n",
532 pm->fP.fX, pm->fP.fY, pm->fP.fZ,
533 pm->fV.fX, pm->fV.fY, pm->fV.fZ,
534 pm->fE.fX, pm->fE.fY, pm->fE.fZ,
710 using namespace TMath;
712 if (
x < 1
e-3)
return 1
e-3;
715 return Ceil(fac*
x) / fac;
723 using namespace TMath;
998 const Double_t minptsq = min_pt*min_pt;
999 const Double_t maxptsq = max_pt*max_pt;
1004 Bool_t on = ptsq >= minptsq && ptsq <= maxptsq;
1005 (*i)->SetRnrState(on);
1016 const Double_t minptsq = min_pt*min_pt;
1017 const Double_t maxptsq = max_pt*max_pt;
1025 Bool_t on = ptsq >= minptsq && ptsq <= maxptsq;
1043 const Double_t minpsq = min_p*min_p;
1044 const Double_t maxpsq = max_p*max_p;
1049 Bool_t on = psq >= minpsq && psq <= maxpsq;
1050 (*i)->SetRnrState(psq >= minpsq && psq <= maxpsq);
1061 const Double_t minpsq = min_p*min_p;
1062 const Double_t maxpsq = max_p*max_p;
1070 Bool_t on = psq >= minpsq && psq <= maxpsq;
1085 if (((
TEveTrack*)(*i))->GetLabel() == label)
1094 gEve->EditElement(*i);
1108 if (((
TEveTrack*)(*i))->GetIndex() == index)
1117 gEve->EditElement(*i);
1132 TAttMarker::operator=(*
m);
1133 TAttLine::operator=(*
m);
1157 TAttLine ::SaveLineAttributes (out, var);
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
int Int_t
Signed integer 4 bytes (int).
float Size_t
Attribute size (float).
long Longptr_t
Integer large enough to hold a pointer (platform-dependent).
short Width_t
Line width (short).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
short Color_t
Color number (short).
short Style_t
Style number (short).
float Float_t
Float 4 bytes (float).
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
TEvePathMarkT< Double_t > TEvePathMarkD
TEveRecTrackT< Float_t > TEveRecTrack
TEveRecTrackT< Double_t > TEveRecTrackD
TEveVectorT< Double_t > TEveVectorD
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)
Allocate and prepare for incremental filling.
virtual Color_t GetLineColor() const
Return the line color.
virtual Width_t GetLineWidth() const
Return the line width.
Width_t fLineWidth
Line width.
virtual Style_t GetLineStyle() const
Return the line style.
Style_t fLineStyle
Line style.
Color_t fLineColor
Line color.
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.
Size_t fMarkerSize
Marker size.
Style_t fMarkerStyle
Marker style.
virtual void SaveMarkerAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1)
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.
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
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.
Int_t fLastPMIdx
!Last path-mark index tried in track-propagation.
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.