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));
357 if (
rTP.GetFitReferences() &&
pm->fType == TEvePathMarkD::kReference)
370 else if (
rTP.GetFitDaughters() &&
pm->fType == TEvePathMarkD::kDaughter)
389 else if (
rTP.GetFitDecay() &&
pm->fType == TEvePathMarkD::kDecay)
398 else if (
rTP.GetFitCluster2Ds() &&
pm->fType == TEvePathMarkD::kCluster2D)
419 Warning(
"TEveTrack::MakeTrack",
"Failed to intersect plane for Cluster2D. Ignoring path-mark.");
422 else if (
rTP.GetFitLineSegments() &&
pm->fType == TEvePathMarkD::kLineSegment)
455 rTP.FillPointSet(
this);
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,
568 fPropagator(nullptr),
573 fMinPt (0), fMaxPt (0), fLimPt (0),
574 fMinP (0), fMaxP (0), fLimP (0)
594 fPropagator(nullptr),
599 fMinPt (0), fMaxPt (0), fLimPt (0),
600 fMinP (0), fMaxP (0), fLimP (0)
694 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
712 using namespace TMath;
714 if (
x < 1
e-3)
return 1
e-3;
725 using namespace TMath;
755 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
787 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
807 track->SetLineColor(col);
820 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
824 track->SetLineColor(col);
852 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
884 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
916 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
935 track->SetMarkerColor(col);
948 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
952 track->SetMarkerColor(col);
980 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
1007 (*i)->SetRnrState(
on);
1021 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
1066 for (
List_i i=
el->BeginChildren(); i!=
el->EndChildren(); ++i)
1087 if (((
TEveTrack*)(*i))->GetLabel() == label)
1091 if (
mlti->GetUserData() !=
this)
1114 if (
mlti->GetUserData() !=
this)
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
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
R__EXTERN TEveManager * gEve
winID h TVirtualViewer3D TVirtualGLPainter p
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)
Width_t fLineWidth
Line width.
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.
Color_t fMarkerColor
Marker color.
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 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.
void SetLineStyle(Style_t lstyle) override
Set line-style of the line.
void SetRnrLine(Bool_t r)
Set rendering of line. Propagate to projected lines.
void WriteVizParams(std::ostream &out, const TString &var) override
Write visualization parameters.
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.
TEveGListTreeEditorFrame * GetLTEFrame() const
void EditElement(TEveElement *element)
Show element in default editor.
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 SetMarkerSize(Size_t msize=1) override
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.
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.
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.
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.
static Bool_t IsOutsideBounds(const TEveVectorD &point, Double_t maxRsqr, Double_t maxZ)
static TEveTrackPropagator fgDefault
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.
virtual void SetStdTitle()
Set standard track title based on most data-member values.
void WriteVizParams(std::ostream &out, const TString &var) override
Write visualization parameters.
A list tree is a widget that can contain a number of items arranged in a tree structure.
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.