Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TEveYZProjection Class Reference

YZ projection with distortion around given center.

Definition at line 237 of file TEveProjections.h.

Public Types

enum  EGeoMode_e { kGM_Unknown , kGM_Polygons , kGM_Segments }
enum  EPProc_e { kPP_Plane , kPP_Distort , kPP_Full }
enum  EPType_e {
  kPT_Unknown , kPT_RhoZ , kPT_RPhi , kPT_XZ ,
  kPT_YZ , kPT_ZX , kPT_ZY , kPT_3D ,
  kPT_End
}
typedef std::vector< PreScaleEntry_t >::iterator vPreScale_i
typedef std::vector< PreScaleEntry_tvPreScale_t

Public Member Functions

 TEveYZProjection ()
 Constructor.
 ~TEveYZProjection () override
virtual Bool_t AcceptSegment (TEveVector &, TEveVector &, Float_t) const
void AddPreScaleEntry (Int_t coord, Float_t max_val, Float_t scale)
 Add new scaling range for given coordinate.
virtual void BisectBreakPoint (TEveVector &vL, TEveVector &vR, Bool_t project_result=kFALSE, Float_t depth=0)
 Find break-point on both sides of the discontinuity.
virtual void BisectBreakPoint (TEveVector &vL, TEveVector &vR, Float_t eps_sqr)
 Find break-point on both sides of the discontinuity.
void ChangePreScaleEntry (Int_t coord, Int_t entry, Float_t new_scale)
 Change scale for given entry and coordinate.
void ClearPreScales ()
 Clear all pre-scaling information.
Bool_t GetDisplaceOrigin () const
Float_t GetDistortion () const
Float_t GetFixR () const
Float_t GetFixZ () const
EGeoMode_e GetGeoMode () const
Float_t GetLimit (Int_t i, Bool_t pos)
 Method previously used by TEveProjectionAxesGL. Now obsolete.
Float_t GetMaxTrackStep () const
const Char_tGetName () const
TEveVector GetOrthogonalCenter (int idx, TEveVector &out)
 Get center ortogonal to given axis index.
Float_t GetPastFixRFac () const
Float_t GetPastFixZFac () const
Float_tGetProjectedCenter () override
 Get projected center.
virtual Float_t GetScreenVal (Int_t ax, Float_t value)
 Project point on given axis and return projected value.
Float_t GetScreenVal (Int_t i, Float_t x, TEveVector &dirVec, TEveVector &oCenter)
 Project point on given axis and return projected value.
EPType_e GetType () const
Bool_t GetUsePreScale () const
virtual Float_t GetValForScreenPos (Int_t ax, Float_t value)
 Inverse projection.
virtual Bool_t HasSeveralSubSpaces () const
Bool_t Is2D () const override
Bool_t Is3D () const override
TClassIsA () const override
virtual Bool_t IsOnSubSpaceBoundrary (const TEveVector &) const
void PreScalePoint (Float_t &x, Float_t &y)
 Pre-scale point (x, y) in projected coordinates for 2D projections:
void PreScalePoint (Float_t &x, Float_t &y, Float_t &z)
 Pre-scale point (x, y, z) in projected coordinates for 3D projection.
void ProjectPoint (Float_t &x, Float_t &y, Float_t &z, Float_t d, EPProc_e proc=kPP_Full) override
 Project point.
void ProjectPointdv (const TEveTrans *t, const Double_t *p, Double_t *v, Float_t d)
 Project double array, converting it to global coordinate system first if transformation matrix is set.
void ProjectPointdv (Double_t *v, Float_t d)
 Project double array.
void ProjectPointfv (const TEveTrans *t, const Float_t *p, Float_t *v, Float_t d)
 Project float array, converting it to global coordinate system first if transformation matrix is set.
void ProjectPointfv (Float_t *v, Float_t d)
 Project float array.
void ProjectVector (const TEveTrans *t, TEveVector &v, Float_t d)
 Project TEveVector, converting it to global coordinate system first if transformation matrix is set.
void ProjectVector (TEveVector &v, Float_t d)
 Project TEveVector.
const TEveVectorRefCenter () const
void SetCenter (TEveVector &v) override
 Set center of distortion (virtual method).
void SetDirectionalVector (Int_t screenAxis, TEveVector &vec) override
 Get direction in the unprojected space for axis index in the projected space.
void SetDisplaceOrigin (bool)
 Set flag to displace for center.
void SetDistortion (Float_t d)
 Set distortion.
void SetFixR (Float_t x)
 Set fixed radius.
void SetFixZ (Float_t x)
 Set fixed radius.
void SetGeoMode (EGeoMode_e m)
void SetMaxTrackStep (Float_t x)
void SetName (const Char_t *txt)
void SetPastFixRFac (Float_t x)
 Set 2's-exponent for relative scaling beyond FixR.
void SetPastFixZFac (Float_t x)
 Set 2's-exponent for relative scaling beyond FixZ.
void SetType (EPType_e t)
void SetUsePreScale (Bool_t x)
void Streamer (TBuffer &) override
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual Int_t SubSpaceId (const TEveVector &) const

Static Public Member Functions

static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()

Static Public Attributes

static Float_t fgEps = 0.005f
static Float_t fgEpsSqr = 0.000025f

Protected Member Functions

void PreScaleVariable (Int_t dim, Float_t &v)
 Pre-scale single variable with pre-scale entry dim.

Protected Attributes

TEveVector fCenter
bool fDisplaceOrigin
Float_t fDistortion
Float_t fFixR
Float_t fFixZ
EGeoMode_e fGeoMode
Float_t fMaxTrackStep
TString fName
Float_t fPastFixRFac
Float_t fPastFixRScale
Float_t fPastFixZFac
Float_t fPastFixZScale
vPreScale_t fPreScales [3]
Float_t fScaleR
Float_t fScaleZ
EPType_e fType
Bool_t fUsePreScale

Private Attributes

TEveVector fProjectedCenter

#include <TEveProjections.h>

Inheritance diagram for TEveYZProjection:
TEveProjection

Member Typedef Documentation

◆ vPreScale_i

typedef std::vector<PreScaleEntry_t>::iterator TEveProjection::vPreScale_i
inherited

Definition at line 51 of file TEveProjections.h.

◆ vPreScale_t

typedef std::vector<PreScaleEntry_t> TEveProjection::vPreScale_t
inherited

Definition at line 50 of file TEveProjections.h.

Member Enumeration Documentation

◆ EGeoMode_e

Enumerator
kGM_Unknown 
kGM_Polygons 
kGM_Segments 

Definition at line 32 of file TEveProjections.h.

◆ EPProc_e

enum TEveProjection::EPProc_e
inherited
Enumerator
kPP_Plane 
kPP_Distort 
kPP_Full 

Definition at line 31 of file TEveProjections.h.

◆ EPType_e

enum TEveProjection::EPType_e
inherited
Enumerator
kPT_Unknown 
kPT_RhoZ 
kPT_RPhi 
kPT_XZ 
kPT_YZ 
kPT_ZX 
kPT_ZY 
kPT_3D 
kPT_End 

Definition at line 29 of file TEveProjections.h.

Constructor & Destructor Documentation

◆ TEveYZProjection()

TEveYZProjection::TEveYZProjection ( )

Constructor.

Definition at line 884 of file TEveProjections.cxx.

◆ ~TEveYZProjection()

TEveYZProjection::~TEveYZProjection ( )
inlineoverride

Definition at line 244 of file TEveProjections.h.

Member Function Documentation

◆ AcceptSegment()

virtual Bool_t TEveProjection::AcceptSegment ( TEveVector & ,
TEveVector & ,
Float_t  ) const
inlinevirtualinherited

Reimplemented in TEveRhoZProjection.

Definition at line 134 of file TEveProjections.h.

◆ AddPreScaleEntry()

void TEveProjection::AddPreScaleEntry ( Int_t coord,
Float_t value,
Float_t scale )
inherited

Add new scaling range for given coordinate.

Arguments:

  • coord 0 ~ x, 1 ~ y, 2 ~ z
  • value value of input coordinate from which to apply this scale;
  • scale the scale to apply from value onwards.

NOTE: If pre-scaling is combined with center-displaced then the scale of the central region should be 1. This limitation can be removed but will cost CPU.

Definition at line 179 of file TEveProjections.cxx.

◆ BisectBreakPoint() [1/2]

void TEveProjection::BisectBreakPoint ( TEveVector & vL,
TEveVector & vR,
Bool_t project_result = kFALSE,
Float_t depth = 0 )
virtualinherited

Find break-point on both sides of the discontinuity.

If project_result is true, the resulting break points will be projected with given depth value.

Definition at line 354 of file TEveProjections.cxx.

◆ BisectBreakPoint() [2/2]

void TEveProjection::BisectBreakPoint ( TEveVector & vL,
TEveVector & vR,
Float_t eps_sqr )
virtualinherited

Find break-point on both sides of the discontinuity.

They still need to be projected after the call. This is an obsolete version of the method that required manual specification of precision – this lead to (infrequent) infinite loops.

Definition at line 336 of file TEveProjections.cxx.

◆ ChangePreScaleEntry()

void TEveProjection::ChangePreScaleEntry ( Int_t coord,
Int_t entry,
Float_t new_scale )
inherited

Change scale for given entry and coordinate.

NOTE: If the first entry you created used other value than 0, one entry (covering range from 0 to this value) was created automatically.

Definition at line 221 of file TEveProjections.cxx.

◆ Class()

TClass * TEveYZProjection::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

const char * TEveYZProjection::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

constexpr Version_t TEveYZProjection::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 256 of file TEveProjections.h.

◆ ClearPreScales()

void TEveProjection::ClearPreScales ( )
inherited

Clear all pre-scaling information.

Definition at line 247 of file TEveProjections.cxx.

◆ DeclFileName()

const char * TEveYZProjection::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 256 of file TEveProjections.h.

◆ GetDisplaceOrigin()

Bool_t TEveProjection::GetDisplaceOrigin ( ) const
inlineinherited

Definition at line 103 of file TEveProjections.h.

◆ GetDistortion()

Float_t TEveProjection::GetDistortion ( ) const
inlineinherited

Definition at line 121 of file TEveProjections.h.

◆ GetFixR()

Float_t TEveProjection::GetFixR ( ) const
inlineinherited

Definition at line 122 of file TEveProjections.h.

◆ GetFixZ()

Float_t TEveProjection::GetFixZ ( ) const
inlineinherited

Definition at line 123 of file TEveProjections.h.

◆ GetGeoMode()

EGeoMode_e TEveProjection::GetGeoMode ( ) const
inlineinherited

Definition at line 109 of file TEveProjections.h.

◆ GetLimit()

Float_t TEveProjection::GetLimit ( Int_t i,
Bool_t pos )
inherited

Method previously used by TEveProjectionAxesGL. Now obsolete.

Definition at line 392 of file TEveProjections.cxx.

◆ GetMaxTrackStep()

Float_t TEveProjection::GetMaxTrackStep ( ) const
inlineinherited

Definition at line 130 of file TEveProjections.h.

◆ GetName()

const Char_t * TEveProjection::GetName ( ) const
inlineinherited

Definition at line 95 of file TEveProjections.h.

◆ GetOrthogonalCenter()

TEveVector TEveProjection::GetOrthogonalCenter ( int idx,
TEveVector & out )
inherited

Get center ortogonal to given axis index.

Definition at line 413 of file TEveProjections.cxx.

◆ GetPastFixRFac()

Float_t TEveProjection::GetPastFixRFac ( ) const
inlineinherited

Definition at line 126 of file TEveProjections.h.

◆ GetPastFixZFac()

Float_t TEveProjection::GetPastFixZFac ( ) const
inlineinherited

Definition at line 127 of file TEveProjections.h.

◆ GetProjectedCenter()

Float_t * TEveYZProjection::GetProjectedCenter ( )
inlineoverridevirtual

Get projected center.

Reimplemented from TEveProjection.

Definition at line 252 of file TEveProjections.h.

◆ GetScreenVal() [1/2]

Float_t TEveProjection::GetScreenVal ( Int_t ax,
Float_t value )
virtualinherited

Project point on given axis and return projected value.

Definition at line 531 of file TEveProjections.cxx.

◆ GetScreenVal() [2/2]

Float_t TEveProjection::GetScreenVal ( Int_t i,
Float_t x,
TEveVector & dirVec,
TEveVector & oCenter )
inherited

Project point on given axis and return projected value.

Definition at line 516 of file TEveProjections.cxx.

◆ GetType()

EPType_e TEveProjection::GetType ( ) const
inlineinherited

Definition at line 106 of file TEveProjections.h.

◆ GetUsePreScale()

Bool_t TEveProjection::GetUsePreScale ( ) const
inlineinherited

Definition at line 111 of file TEveProjections.h.

◆ GetValForScreenPos()

Float_t TEveProjection::GetValForScreenPos ( Int_t ax,
Float_t value )
virtualinherited

Inverse projection.

Definition at line 429 of file TEveProjections.cxx.

◆ HasSeveralSubSpaces()

virtual Bool_t TEveProjection::HasSeveralSubSpaces ( ) const
inlinevirtualinherited

Reimplemented in TEveRhoZProjection.

Definition at line 133 of file TEveProjections.h.

◆ Is2D()

Bool_t TEveYZProjection::Is2D ( ) const
inlineoverridevirtual

Implements TEveProjection.

Definition at line 246 of file TEveProjections.h.

◆ Is3D()

Bool_t TEveYZProjection::Is3D ( ) const
inlineoverridevirtual

Implements TEveProjection.

Definition at line 247 of file TEveProjections.h.

◆ IsA()

TClass * TEveYZProjection::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TEveProjection.

Definition at line 256 of file TEveProjections.h.

◆ IsOnSubSpaceBoundrary()

virtual Bool_t TEveProjection::IsOnSubSpaceBoundrary ( const TEveVector & ) const
inlinevirtualinherited

Reimplemented in TEveRhoZProjection.

Definition at line 136 of file TEveProjections.h.

◆ PreScalePoint() [1/2]

void TEveProjection::PreScalePoint ( Float_t & x,
Float_t & y )
inherited

Pre-scale point (x, y) in projected coordinates for 2D projections:

  • RhoZ ~ (rho, z)
  • RPhi ~ (r, phi), scaling phi doesn't make much sense.

Definition at line 152 of file TEveProjections.cxx.

◆ PreScalePoint() [2/2]

void TEveProjection::PreScalePoint ( Float_t & x,
Float_t & y,
Float_t & z )
inherited

Pre-scale point (x, y, z) in projected coordinates for 3D projection.

Definition at line 161 of file TEveProjections.cxx.

◆ PreScaleVariable()

void TEveProjection::PreScaleVariable ( Int_t dim,
Float_t & v )
protectedinherited

Pre-scale single variable with pre-scale entry dim.

Definition at line 129 of file TEveProjections.cxx.

◆ ProjectPoint()

void TEveYZProjection::ProjectPoint ( Float_t & x,
Float_t & y,
Float_t & z,
Float_t d,
EPProc_e proc = kPP_Full )
overridevirtual

Project point.

Implements TEveProjection.

Definition at line 895 of file TEveProjections.cxx.

◆ ProjectPointdv() [1/2]

void TEveProjection::ProjectPointdv ( const TEveTrans * t,
const Double_t * p,
Double_t * v,
Float_t d )
inherited

Project double array, converting it to global coordinate system first if transformation matrix is set.

This is a bit piggish as we convert the doubles to floats and back.

Definition at line 97 of file TEveProjections.cxx.

◆ ProjectPointdv() [2/2]

void TEveProjection::ProjectPointdv ( Double_t * v,
Float_t d )
inherited

Project double array.

This is a bit piggish as we convert the doubles to floats and back.

Definition at line 63 of file TEveProjections.cxx.

◆ ProjectPointfv() [1/2]

void TEveProjection::ProjectPointfv ( const TEveTrans * t,
const Float_t * p,
Float_t * v,
Float_t d )
inherited

Project float array, converting it to global coordinate system first if transformation matrix is set.

Definition at line 82 of file TEveProjections.cxx.

◆ ProjectPointfv() [2/2]

void TEveProjection::ProjectPointfv ( Float_t * v,
Float_t d )
inherited

Project float array.

Definition at line 54 of file TEveProjections.cxx.

◆ ProjectVector() [1/2]

void TEveProjection::ProjectVector ( const TEveTrans * t,
TEveVector & v,
Float_t d )
inherited

Project TEveVector, converting it to global coordinate system first if transformation matrix is set.

Definition at line 117 of file TEveProjections.cxx.

◆ ProjectVector() [2/2]

void TEveProjection::ProjectVector ( TEveVector & v,
Float_t d )
inherited

Project TEveVector.

Definition at line 73 of file TEveProjections.cxx.

◆ RefCenter()

const TEveVector & TEveProjection::RefCenter ( ) const
inlineinherited

Definition at line 98 of file TEveProjections.h.

◆ SetCenter()

void TEveYZProjection::SetCenter ( TEveVector & v)
overridevirtual

Set center of distortion (virtual method).

Reimplemented from TEveProjection.

Definition at line 956 of file TEveProjections.cxx.

◆ SetDirectionalVector()

void TEveYZProjection::SetDirectionalVector ( Int_t screenAxis,
TEveVector & vec )
overridevirtual

Get direction in the unprojected space for axis index in the projected space.

This is virtual method from base-class TEveProjection.

Reimplemented from TEveProjection.

Definition at line 977 of file TEveProjections.cxx.

◆ SetDisplaceOrigin()

void TEveProjection::SetDisplaceOrigin ( bool x)
inherited

Set flag to displace for center.

This options is useful if want to have projected center at (0, 0) position in projected coordinates and want to dismiss gap around projected center in RhoZ projection.

Definition at line 314 of file TEveProjections.cxx.

◆ SetDistortion()

void TEveProjection::SetDistortion ( Float_t d)
inherited

Set distortion.

Definition at line 257 of file TEveProjections.cxx.

◆ SetFixR()

void TEveProjection::SetFixR ( Float_t x)
inherited

Set fixed radius.

Definition at line 269 of file TEveProjections.cxx.

◆ SetFixZ()

void TEveProjection::SetFixZ ( Float_t x)
inherited

Set fixed radius.

Definition at line 279 of file TEveProjections.cxx.

◆ SetGeoMode()

void TEveProjection::SetGeoMode ( EGeoMode_e m)
inlineinherited

Definition at line 108 of file TEveProjections.h.

◆ SetMaxTrackStep()

void TEveProjection::SetMaxTrackStep ( Float_t x)
inlineinherited

Definition at line 131 of file TEveProjections.h.

◆ SetName()

void TEveProjection::SetName ( const Char_t * txt)
inlineinherited

Definition at line 96 of file TEveProjections.h.

◆ SetPastFixRFac()

void TEveProjection::SetPastFixRFac ( Float_t x)
inherited

Set 2's-exponent for relative scaling beyond FixR.

Definition at line 289 of file TEveProjections.cxx.

◆ SetPastFixZFac()

void TEveProjection::SetPastFixZFac ( Float_t x)
inherited

Set 2's-exponent for relative scaling beyond FixZ.

Definition at line 324 of file TEveProjections.cxx.

◆ SetType()

void TEveProjection::SetType ( EPType_e t)
inlineinherited

Definition at line 105 of file TEveProjections.h.

◆ SetUsePreScale()

void TEveProjection::SetUsePreScale ( Bool_t x)
inlineinherited

Definition at line 112 of file TEveProjections.h.

◆ Streamer()

void TEveYZProjection::Streamer ( TBuffer & )
overridevirtual

Reimplemented from TEveProjection.

◆ StreamerNVirtual()

void TEveYZProjection::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 256 of file TEveProjections.h.

◆ SubSpaceId()

virtual Int_t TEveProjection::SubSpaceId ( const TEveVector & ) const
inlinevirtualinherited

Reimplemented in TEveRhoZProjection.

Definition at line 135 of file TEveProjections.h.

Member Data Documentation

◆ fCenter

TEveVector TEveProjection::fCenter
protectedinherited

Definition at line 58 of file TEveProjections.h.

◆ fDisplaceOrigin

bool TEveProjection::fDisplaceOrigin
protectedinherited

Definition at line 60 of file TEveProjections.h.

◆ fDistortion

Float_t TEveProjection::fDistortion
protectedinherited

Definition at line 65 of file TEveProjections.h.

◆ fFixR

Float_t TEveProjection::fFixR
protectedinherited

Definition at line 66 of file TEveProjections.h.

◆ fFixZ

Float_t TEveProjection::fFixZ
protectedinherited

Definition at line 67 of file TEveProjections.h.

◆ fGeoMode

EGeoMode_e TEveProjection::fGeoMode
protectedinherited

Definition at line 55 of file TEveProjections.h.

◆ fgEps

Float_t TEveProjection::fgEps = 0.005f
staticinherited

Definition at line 149 of file TEveProjections.h.

◆ fgEpsSqr

Float_t TEveProjection::fgEpsSqr = 0.000025f
staticinherited

Definition at line 150 of file TEveProjections.h.

◆ fMaxTrackStep

Float_t TEveProjection::fMaxTrackStep
protectedinherited

Definition at line 74 of file TEveProjections.h.

◆ fName

TString TEveProjection::fName
protectedinherited

Definition at line 56 of file TEveProjections.h.

◆ fPastFixRFac

Float_t TEveProjection::fPastFixRFac
protectedinherited

Definition at line 68 of file TEveProjections.h.

◆ fPastFixRScale

Float_t TEveProjection::fPastFixRScale
protectedinherited

Definition at line 72 of file TEveProjections.h.

◆ fPastFixZFac

Float_t TEveProjection::fPastFixZFac
protectedinherited

Definition at line 69 of file TEveProjections.h.

◆ fPastFixZScale

Float_t TEveProjection::fPastFixZScale
protectedinherited

Definition at line 73 of file TEveProjections.h.

◆ fPreScales

vPreScale_t TEveProjection::fPreScales[3]
protectedinherited

Definition at line 63 of file TEveProjections.h.

◆ fProjectedCenter

TEveVector TEveYZProjection::fProjectedCenter
private

Definition at line 240 of file TEveProjections.h.

◆ fScaleR

Float_t TEveProjection::fScaleR
protectedinherited

Definition at line 70 of file TEveProjections.h.

◆ fScaleZ

Float_t TEveProjection::fScaleZ
protectedinherited

Definition at line 71 of file TEveProjections.h.

◆ fType

EPType_e TEveProjection::fType
protectedinherited

Definition at line 54 of file TEveProjections.h.

◆ fUsePreScale

Bool_t TEveProjection::fUsePreScale
protectedinherited

Definition at line 62 of file TEveProjections.h.


The documentation for this class was generated from the following files: