12#ifndef ROOT7_REveProjections
13#define ROOT7_REveProjections
20namespace Experimental {
Bool_t Is3D() const override
virtual ~REve3DProjection()
REve3DProjection()
Constructor.
Bool_t Is2D() const override
void ProjectPoint(Float_t &x, Float_t &y, Float_t &z, Float_t d, EPProc_e proc=kPP_Full) override
Project point.
REveProjection Base for specific classes that implement non-linear projections.
virtual Float_t GetValForScreenPos(Int_t ax, Float_t value)
Inverse projection.
virtual Float_t GetScreenVal(Int_t ax, Float_t value)
Project point on given axis and return projected value.
Float_t GetPastFixRFac() const
std::vector< PreScaleEntry_t > vPreScale_t
REveVector GetOrthogonalCenter(int idx, REveVector &out)
Get center ortogonal to given axis index.
Bool_t GetDisplaceOrigin() const
void ProjectPointfv(Float_t *v, Float_t d)
Project float array.
REveProjection()
Constructor.
void SetUsePreScale(Bool_t x)
Float_t GetPastFixZFac() const
virtual Bool_t Is3D() const =0
void ProjectPointdv(Double_t *v, Float_t d)
Project double array.
void ProjectVector(REveVector &v, Float_t d)
Project REveVector.
void PreScaleVariable(Int_t dim, Float_t &v)
Pre-scale single variable with pre-scale entry dim.
virtual void ProjectPoint(Float_t &x, Float_t &y, Float_t &z, Float_t d, EPProc_e p=kPP_Full)=0
virtual void SetCenter(REveVector &v)
Float_t GetLimit(Int_t i, Bool_t pos)
virtual Bool_t Is2D() const =0
virtual ~REveProjection()
void SetMaxTrackStep(Float_t x)
void SetDistortion(Float_t d)
Set distortion.
vPreScale_t fPreScales[3]
const REveVector & RefCenter() const
virtual void SetDirectionalVector(Int_t screenAxis, REveVector &vec)
Get vector for axis in a projected space.
EGeoMode_e GetGeoMode() const
void ChangePreScaleEntry(Int_t coord, Int_t entry, Float_t new_scale)
Change scale for given entry and coordinate.
const char * GetName() const
void SetGeoMode(EGeoMode_e m)
virtual Bool_t HasSeveralSubSpaces() const
void PreScalePoint(Float_t &x, Float_t &y)
Pre-scale point (x, y) in projected coordinates for 2D projections:
void SetName(const char *txt)
void SetPastFixRFac(Float_t x)
Set 2's-exponent for relative scaling beyond FixR.
void AddPreScaleEntry(Int_t coord, Float_t max_val, Float_t scale)
Add new scaling range for given coordinate.
virtual Int_t SubSpaceId(const REveVector &) const
Float_t GetDistortion() const
void SetFixZ(Float_t x)
Set fixed radius.
virtual Bool_t AcceptSegment(REveVector &, REveVector &, Float_t) const
void SetDisplaceOrigin(bool)
Set flag to displace for center.
virtual void BisectBreakPoint(REveVector &vL, REveVector &vR, Float_t eps_sqr)
Find break-point on both sides of the discontinuity.
virtual Float_t * GetProjectedCenter()
Get projected center.
virtual Bool_t IsOnSubSpaceBoundrary(const REveVector &) const
Float_t GetMaxTrackStep() const
Bool_t GetUsePreScale() const
void SetPastFixZFac(Float_t x)
Set 2's-exponent for relative scaling beyond FixZ.
void SetFixR(Float_t x)
Set fixed radius.
void ClearPreScales()
Clear all pre-scaling information.
Bool_t Is2D() const override
REveRPhiProjection()
Constructor.
void ProjectPoint(Float_t &x, Float_t &y, Float_t &z, Float_t d, EPProc_e proc=kPP_Full) override
Project point.
virtual ~REveRPhiProjection()
Bool_t Is3D() const override
Bool_t IsOnSubSpaceBoundrary(const REveVector &v) const override
Checks if point is on sub-space boundary.
Float_t * GetProjectedCenter() override
Get projected center.
Bool_t Is2D() const override
REveRhoZProjection()
Constructor.
void SetDirectionalVector(Int_t screenAxis, REveVector &vec) override
Get direction in the unprojected space for axis index in the projected space.
REveVector fProjectedCenter
virtual ~REveRhoZProjection()
void ProjectPoint(Float_t &x, Float_t &y, Float_t &z, Float_t d, EPProc_e proc=kPP_Full) override
Project point.
Int_t SubSpaceId(const REveVector &v) const override
Return sub-space id for the point.
Bool_t HasSeveralSubSpaces() const override
Bool_t AcceptSegment(REveVector &v1, REveVector &v2, Float_t tolerance) const override
Check if segment of two projected points is valid.
Bool_t Is3D() const override
void SetCenter(REveVector &v) override
Set center of distortion (virtual method).
Short_t Max(Short_t a, Short_t b)
PreScaleEntry_t(Float_t min, Float_t max, Float_t off, Float_t scale)
PreScaleEntry_t()=default