12 #ifndef ROOT_TEveTrackPropagator 13 #define ROOT_TEveTrackPropagator 44 printf(
"v(%f, %f, %f) B(%f, %f, %f) \n", x, y, z, b.
fX, b.
fY, b.
fZ);
99 fBIn(0,0,bIn), fBOut(0,0,bOut), fR2(r*r)
107 {
return ((x*x+y*y)<fR2) ? fBIn : fBOut; }
110 {
Double_t b1 = fBIn.
Mag(), b2 = fBOut.
Mag();
return b1 > b2 ? b1 : b2; }
222 void RebuildTracks();
249 virtual void OnZeroRefCount();
251 virtual void CheckReferenceCount(
const TEveException& eh=
"TEveElement::CheckReferenceCount ");
259 Int_t GetCurrentPoint()
const;
292 void SetRnrDaughters(
Bool_t x);
293 void SetRnrReferences(
Bool_t x);
294 void SetRnrDecay(
Bool_t x);
295 void SetRnrCluster2Ds(
Bool_t x);
296 void SetFitDaughters(
Bool_t x);
297 void SetFitReferences(
Bool_t x);
298 void SetFitDecay(
Bool_t x);
299 void SetFitCluster2Ds(
Bool_t x);
300 void SetFitLineSegments(
Bool_t x);
302 void SetProjTrackBreaking(
UChar_t x);
303 void SetRnrPTBMarkers(
Bool_t x);
336 const std::vector<TEveVector4D>&
GetLastPoints()
const {
return fLastPoints; }
359 point.
fX*point.
fX + point.
fY*point.
fY > maxRsqr;
378 dotV = fH.fE1.
Dot(dv);
386 dotV = fH.fE2.Dot(dv);
virtual Bool_t IsConst() const
virtual Double_t GetMaxFieldMagD() const
Bool_t GetRnrReferences() const
Implements constant magnetic filed that switches on given axial radius fR2 from vector fBIn to fBOut...
Bool_t GetFitDaughters() const
EStepper_e GetStepper() const
static Double_t fgEditorMaxR
Base-class for reference-counted objects with reverse references to TEveElement objects.
TEveMagField * fMagFieldObj
Bool_t GetRnrCluster2Ds() const
TT Dot(const TEveVectorT &a) const
Implements constant magnetic field, given by a vector fB.
Bool_t GetRnrPTBMarkers() const
TEveMagFieldConst(Double_t x, Double_t y, Double_t z)
void Step(const gsl_rng *r, void *xp, double step_size)
Double_t GetDelta() const
virtual Double_t GetMaxFieldMagD() const
static constexpr double ps
virtual TEveVector GetField(Float_t, Float_t, Float_t) const
virtual ~TEveMagFieldConst()
Minimal, templated four-vector.
Bool_t GetFitDecay() const
void SetStepper(EStepper_e s)
TEveVectorD GetFieldD(const TEveVectorD &v) const
#define ClassDef(name, id)
static Double_t fgDefMagField
Bool_t GetRnrDaughters() const
static Bool_t IsOutsideBounds(const TEveVectorD &point, Double_t maxRsqr, Double_t maxZ)
Bool_t GetRnrDecay() const
static const Double_t fgkB2C
Double_t GetMaxAng() const
static TEveTrackPropagator fgDefault
static Double_t fgEditorMaxZ
Double_t GetMaxStep() const
virtual TEveVectorD GetFieldD(Double_t x, Double_t y, Double_t z) const
virtual Double_t GetMaxFieldMagD() const
TEvePointSet is a render-element holding a collection of 3D points with optional per-point TRef and a...
void SetMagField(Double_t b)
Bool_t PointOverVertex(const TEveVector4D &v0, const TEveVector4D &v, Double_t *p=0)
Holding structure for a number of track rendering parameters.
Bool_t GetFitReferences() const
const std::vector< TEveVector4D > & GetLastPoints() const
Double_t GetMaxOrbs() const
std::vector< TEveVector4D > fLastPoints
std::vector< TEveVector4D > fPoints
void SetEditPathMarks(Bool_t x)
virtual TEveVectorD GetFieldD(Double_t x, Double_t y, Double_t) const
Bool_t GetFitLineSegments() const
static constexpr double s
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
Bool_t GetEditPathMarks() const
TEveVectorT< Float_t > TEveVector
Binding & operator=(OUT(*fun)(void))
you should not use this method at all Int_t Int_t z
Sub-editor for TEveTrackPropagator class.
virtual ~TEveMagFieldDuo()
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
virtual Float_t GetMaxFieldMag() const
TEveVectorT & Sub(const TEveVectorT &a, const TEveVectorT &b)
Exception class thrown by TEve classes and macros.
UChar_t fProjTrackBreaking
Abstract base-class for interfacing to magnetic field needed by the TEveTrackPropagator.
virtual void PrintField(Double_t x, Double_t y, Double_t z) const
def normal(shape, name=None)
Double_t Sqrt(Double_t x)
TEveVectorD GetMagField(Double_t x, Double_t y, Double_t z)
virtual TEveVectorD GetFieldD(Double_t, Double_t, Double_t) const
Bool_t GetFitCluster2Ds() const
TEveMagFieldDuo(Double_t r, Double_t bIn, Double_t bOut)
UChar_t GetProjTrackBreaking() const