71 fV(t->Vx(), t->Vy(), t->Vz()),
72 fP(t->Px(), t->Py(), t->Pz()),
74 fBeta(t->P()/t->Energy()),
80 fStatus(t->GetStatusCode()),
103 fV(t->Vx(), t->Vy(), t->Vz()),
104 fP(t->Px(), t->Py(), t->Pz()),
106 fBeta(t->P()/t->Energy()),
112 fStatus(t->GetStatusCode()),
205 fLockPoints(t.fLockPoints),
207 fLastPMIdx(t.fLastPMIdx),
246 for (
Int_t i = 0; i <
n; ++i, p += 3)
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;
499 return TEveTrackProjected::Class();
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,
573 fMinPt (0), fMaxPt (0), fLimPt (0),
574 fMinP (0), fMaxP (0), fLimP (0)
599 fMinPt (0), fMaxPt (0), fLimPt (0),
600 fMinP (0), fMaxP (0), fLimP (0)
712 using namespace TMath;
714 if (
x < 1
e-3)
return 1
e-3;
716 Double_t fac = Power(10, 1 - Floor(Log10(
x)));
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;
1087 if (((
TEveTrack*)(*i))->GetLabel() == label)
1110 if (((
TEveTrack*)(*i))->GetIndex() == index)
1134 TAttMarker::operator=(*
m);
1135 TAttLine::operator=(*
m);
1159 TAttLine ::SaveLineAttributes (out, var);
1177 return TEveTrackListProjected::Class();
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
include TDocParser_001 C image html pict1_TDocParser_001 png width
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
R__EXTERN TEveManager * gEve
TRObject operator()(const T1 &t1) const
char * Form(const char *fmt,...)
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.
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.
Size_t fMarkerSize
Marker size.
Style_t fMarkerStyle
Marker style.
TClass instances represent classes, structs and namespaces in the ROOT type system.
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
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.
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.
TGListTree * GetListTree() const
An arbitrary polyline with fixed line and marker attributes.
virtual void SetLineStyle(Style_t lstyle)
Set line-style of the line.
virtual void SetLineWidth(Width_t lwidth)
Set line-style of the line.
virtual void SetLineColor(Color_t col)
Set the line color.
Bool_t GetRnrPoints() const
void SetRnrLine(Bool_t r)
Set rendering of line. Propagate to projected lines.
Bool_t GetRnrLine() const
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write visualization parameters.
void SetRnrPoints(Bool_t r)
Set rendering of points. Propagate to projected lines.
virtual void SetMarkerColor(Color_t col)
Set marker color. Propagate to projected lines.
TEveGListTreeEditorFrame * GetLTEFrame() const
void EditElement(TEveElement *element)
Show element in default editor.
virtual void SetMarkerStyle(Style_t mstyle=1)
Set marker style, propagate to projecteds.
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.
virtual void SetMarkerSize(Size_t msize=1)
Set marker size, propagate to projecteds.
Base-class for non-linear projections.
virtual void IncRefCount(TEveElement *re)
Increase reference count and add re to the list of back-references.
virtual void DecRefCount(TEveElement *re)
Decrease reference count and remove re from the list of back-references.
A list of tracks supporting change of common attributes and selection based on track parameters.
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write visualization parameters.
virtual TClass * ProjectedClass(const TEveProjection *p) const
Virtual from TEveProjectable, returns TEveTrackListProjected class.
virtual void SetLineWidth(Width_t w)
Set line width for the list and the elements.
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 SanitizeMinMaxCuts()
Set Min/Max cuts so that they are within detected limits.
Bool_t GetRnrLine() const
virtual void SetLineStyle(Style_t s)
Set line style for the list and the elements.
virtual void SetMarkerStyle(Style_t s)
Set marker style for the list and the elements.
TEveTrackPropagator * fPropagator
TEveTrack * FindTrackByIndex(Int_t index)
Find track by index, select it and display it in the editor.
Bool_t GetRnrPoints() const
virtual void SetLineColor(Color_t c)
Set the line color.
TEveTrackList(const TEveTrackList &)
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
virtual void SetMarkerColor(Color_t c)
Set marker color for the list and the elements.
void SelectByPt(Double_t min_pt, Double_t max_pt)
Select visibility of tracks by transverse momentum.
virtual ~TEveTrackList()
Destructor.
TEveTrack * FindTrackByLabel(Int_t label)
Find track by label, select it and display it in the editor.
void MakeTracks(Bool_t recurse=kTRUE)
Regenerate the visual representations of tracks.
Double_t RoundMomentumLimit(Double_t x)
Round the momentum limit up to a nice value.
virtual void SetMainColor(Color_t c)
Set main (line) color for the list and the elements.
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.
virtual void SetMarkerSize(Size_t s)
Set marker size for the list and the elements.
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
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write visualization parameters.
virtual void SecSelected(TEveTrack *)
Emits "SecSelected(TEveTrack*)" signal.
void SetPropagator(TEveTrackPropagator *prop)
Set track's render style.
virtual ~TEveTrack()
Destructor.
vPathMark_t & RefPathMarks()
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
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.
virtual void ComputeBBox()
Compute the bounding box of the track.
vPathMark_t::const_iterator vPathMark_ci
void SetAttLineAttMarker(TEveTrackList *tl)
Set line and marker attributes from TEveTrackList.
virtual TClass * ProjectedClass(const TEveProjection *p) const
Virtual from TEveProjectable, return TEveTrackProjected class.
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.
virtual const TGPicture * GetListTreeIcon(Bool_t open=kFALSE)
Returns list-tree icon for TEveTrack.
TEveTrack()
Default constructor.
virtual void SetTrackParams(const TEveTrack &t)
Copy track parameters from t.
virtual void SetStdTitle()
Set standard track title based on most data-member values.
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.
virtual const char * GetName() const
Return particle name.
virtual Int_t Size() const
virtual const char * GetName() const
Returns name of object.
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)