Logo ROOT  
Reference Guide
ROOT::Experimental::REveProjection Class Referenceabstract

REveProjection Base for specific classes that implement non-linear projections.

Definition at line 29 of file REveProjections.hxx.

Classes

struct  PreScaleEntry_t
 

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_RPhi , kPT_RhoZ , kPT_3D ,
  kPT_End
}
 
typedef std::vector< PreScaleEntry_tvPreScale_t
 

Public Member Functions

 REveProjection ()
 Constructor. More...
 
virtual ~REveProjection ()
 
virtual Bool_t AcceptSegment (REveVector &, REveVector &, Float_t) const
 
void AddPreScaleEntry (Int_t coord, Float_t max_val, Float_t scale)
 Add new scaling range for given coordinate. More...
 
virtual void BisectBreakPoint (REveVector &vL, REveVector &vR, Bool_t project_result=kFALSE, Float_t depth=0)
 Find break-point on both sides of the discontinuity. More...
 
virtual void BisectBreakPoint (REveVector &vL, REveVector &vR, Float_t eps_sqr)
 Find break-point on both sides of the discontinuity. More...
 
void ChangePreScaleEntry (Int_t coord, Int_t entry, Float_t new_scale)
 Change scale for given entry and coordinate. More...
 
void ClearPreScales ()
 Clear all pre-scaling information. More...
 
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)
 
Float_t GetMaxTrackStep () const
 
const char * GetName () const
 
REveVector GetOrthogonalCenter (int idx, REveVector &out)
 Get center ortogonal to given axis index. More...
 
Float_t GetPastFixRFac () const
 
Float_t GetPastFixZFac () const
 
virtual Float_tGetProjectedCenter ()
 Get projected center. More...
 
virtual Float_t GetScreenVal (Int_t ax, Float_t value)
 Project point on given axis and return projected value. More...
 
Float_t GetScreenVal (Int_t i, Float_t x, REveVector &dirVec, REveVector &oCenter)
 Project point on given axis and return projected value. More...
 
EPType_e GetType () const
 
Bool_t GetUsePreScale () const
 
virtual Float_t GetValForScreenPos (Int_t ax, Float_t value)
 Inverse projection. More...
 
virtual Bool_t HasSeveralSubSpaces () const
 
virtual Bool_t Is2D () const =0
 
virtual Bool_t Is3D () const =0
 
virtual Bool_t IsOnSubSpaceBoundrary (const REveVector &) const
 
void PreScalePoint (Float_t &x, Float_t &y)
 Pre-scale point (x, y) in projected coordinates for 2D projections: More...
 
void PreScalePoint (Float_t &x, Float_t &y, Float_t &z)
 Pre-scale point (x, y, z) in projected coordinates for 3D projection. More...
 
virtual void ProjectPoint (Float_t &x, Float_t &y, Float_t &z, Float_t d, EPProc_e p=kPP_Full)=0
 
void ProjectPointdv (const REveTrans *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. More...
 
void ProjectPointdv (Double_t *v, Float_t d)
 Project double array. More...
 
void ProjectPointfv (const REveTrans *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. More...
 
void ProjectPointfv (Float_t *v, Float_t d)
 Project float array. More...
 
void ProjectVector (const REveTrans *t, REveVector &v, Float_t d)
 Project REveVector, converting it to global coordinate system first if transformation matrix is set. More...
 
void ProjectVector (REveVector &v, Float_t d)
 Project REveVector. More...
 
const REveVectorRefCenter () const
 
virtual void SetCenter (REveVector &v)
 
virtual void SetDirectionalVector (Int_t screenAxis, REveVector &vec)
 Get vector for axis in a projected space. More...
 
void SetDisplaceOrigin (bool)
 Set flag to displace for center. More...
 
void SetDistortion (Float_t d)
 Set distortion. More...
 
void SetFixR (Float_t x)
 Set fixed radius. More...
 
void SetFixZ (Float_t x)
 Set fixed radius. More...
 
void SetGeoMode (EGeoMode_e m)
 
void SetMaxTrackStep (Float_t x)
 
void SetName (const char *txt)
 
void SetPastFixRFac (Float_t x)
 Set 2's-exponent for relative scaling beyond FixR. More...
 
void SetPastFixZFac (Float_t x)
 Set 2's-exponent for relative scaling beyond FixZ. More...
 
void SetType (EPType_e t)
 
void SetUsePreScale (Bool_t x)
 
virtual Int_t SubSpaceId (const REveVector &) const
 

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. More...
 

Protected Attributes

REveVector fCenter
 
bool fDisplaceOrigin
 
Float_t fDistortion
 
Float_t fFixR
 
Float_t fFixZ
 
EGeoMode_e fGeoMode
 
Float_t fMaxTrackStep
 
std::string 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
 

#include <ROOT/REveProjections.hxx>

Inheritance diagram for ROOT::Experimental::REveProjection:
[legend]

Member Typedef Documentation

◆ vPreScale_t

Member Enumeration Documentation

◆ EGeoMode_e

Enumerator
kGM_Unknown 
kGM_Polygons 
kGM_Segments 

Definition at line 33 of file REveProjections.hxx.

◆ EPProc_e

Enumerator
kPP_Plane 
kPP_Distort 
kPP_Full 

Definition at line 32 of file REveProjections.hxx.

◆ EPType_e

Enumerator
kPT_Unknown 
kPT_RPhi 
kPT_RhoZ 
kPT_3D 
kPT_End 

Definition at line 31 of file REveProjections.hxx.

Constructor & Destructor Documentation

◆ REveProjection()

REveProjection::REveProjection ( )

Constructor.

Definition at line 37 of file REveProjections.cxx.

◆ ~REveProjection()

virtual ROOT::Experimental::REveProjection::~REveProjection ( )
inlinevirtual

Definition at line 77 of file REveProjections.hxx.

Member Function Documentation

◆ AcceptSegment()

virtual Bool_t ROOT::Experimental::REveProjection::AcceptSegment ( REveVector ,
REveVector ,
Float_t   
) const
inlinevirtual

Reimplemented in ROOT::Experimental::REveRhoZProjection.

Definition at line 131 of file REveProjections.hxx.

◆ AddPreScaleEntry()

void REveProjection::AddPreScaleEntry ( Int_t  coord,
Float_t  value,
Float_t  scale 
)

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 181 of file REveProjections.cxx.

◆ BisectBreakPoint() [1/2]

void REveProjection::BisectBreakPoint ( REveVector vL,
REveVector vR,
Bool_t  project_result = kFALSE,
Float_t  depth = 0 
)
virtual

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 356 of file REveProjections.cxx.

◆ BisectBreakPoint() [2/2]

void REveProjection::BisectBreakPoint ( REveVector vL,
REveVector vR,
Float_t  eps_sqr 
)
virtual

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 338 of file REveProjections.cxx.

◆ ChangePreScaleEntry()

void REveProjection::ChangePreScaleEntry ( Int_t  coord,
Int_t  entry,
Float_t  new_scale 
)

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 223 of file REveProjections.cxx.

◆ ClearPreScales()

void REveProjection::ClearPreScales ( )

Clear all pre-scaling information.

Definition at line 249 of file REveProjections.cxx.

◆ GetDisplaceOrigin()

Bool_t ROOT::Experimental::REveProjection::GetDisplaceOrigin ( ) const
inline

Definition at line 100 of file REveProjections.hxx.

◆ GetDistortion()

Float_t ROOT::Experimental::REveProjection::GetDistortion ( ) const
inline

Definition at line 118 of file REveProjections.hxx.

◆ GetFixR()

Float_t ROOT::Experimental::REveProjection::GetFixR ( ) const
inline

Definition at line 119 of file REveProjections.hxx.

◆ GetFixZ()

Float_t ROOT::Experimental::REveProjection::GetFixZ ( ) const
inline

Definition at line 120 of file REveProjections.hxx.

◆ GetGeoMode()

EGeoMode_e ROOT::Experimental::REveProjection::GetGeoMode ( ) const
inline

Definition at line 106 of file REveProjections.hxx.

◆ GetLimit()

Float_t ROOT::Experimental::REveProjection::GetLimit ( Int_t  i,
Bool_t  pos 
)

◆ GetMaxTrackStep()

Float_t ROOT::Experimental::REveProjection::GetMaxTrackStep ( ) const
inline

Definition at line 127 of file REveProjections.hxx.

◆ GetName()

const char * ROOT::Experimental::REveProjection::GetName ( ) const
inline

Definition at line 92 of file REveProjections.hxx.

◆ GetOrthogonalCenter()

REveVector REveProjection::GetOrthogonalCenter ( int  idx,
REveVector out 
)

Get center ortogonal to given axis index.

Definition at line 405 of file REveProjections.cxx.

◆ GetPastFixRFac()

Float_t ROOT::Experimental::REveProjection::GetPastFixRFac ( ) const
inline

Definition at line 123 of file REveProjections.hxx.

◆ GetPastFixZFac()

Float_t ROOT::Experimental::REveProjection::GetPastFixZFac ( ) const
inline

Definition at line 124 of file REveProjections.hxx.

◆ GetProjectedCenter()

Float_t * REveProjection::GetProjectedCenter ( )
virtual

Get projected center.

Reimplemented in ROOT::Experimental::REveRhoZProjection.

Definition at line 300 of file REveProjections.cxx.

◆ GetScreenVal() [1/2]

Float_t REveProjection::GetScreenVal ( Int_t  ax,
Float_t  value 
)
virtual

Project point on given axis and return projected value.

Definition at line 523 of file REveProjections.cxx.

◆ GetScreenVal() [2/2]

Float_t REveProjection::GetScreenVal ( Int_t  i,
Float_t  x,
REveVector dirVec,
REveVector oCenter 
)

Project point on given axis and return projected value.

Definition at line 508 of file REveProjections.cxx.

◆ GetType()

EPType_e ROOT::Experimental::REveProjection::GetType ( ) const
inline

Definition at line 103 of file REveProjections.hxx.

◆ GetUsePreScale()

Bool_t ROOT::Experimental::REveProjection::GetUsePreScale ( ) const
inline

Definition at line 108 of file REveProjections.hxx.

◆ GetValForScreenPos()

Float_t REveProjection::GetValForScreenPos ( Int_t  ax,
Float_t  value 
)
virtual

Inverse projection.

Definition at line 421 of file REveProjections.cxx.

◆ HasSeveralSubSpaces()

virtual Bool_t ROOT::Experimental::REveProjection::HasSeveralSubSpaces ( ) const
inlinevirtual

Reimplemented in ROOT::Experimental::REveRhoZProjection.

Definition at line 130 of file REveProjections.hxx.

◆ Is2D()

virtual Bool_t ROOT::Experimental::REveProjection::Is2D ( ) const
pure virtual

◆ Is3D()

virtual Bool_t ROOT::Experimental::REveProjection::Is3D ( ) const
pure virtual

◆ IsOnSubSpaceBoundrary()

virtual Bool_t ROOT::Experimental::REveProjection::IsOnSubSpaceBoundrary ( const REveVector ) const
inlinevirtual

Reimplemented in ROOT::Experimental::REveRhoZProjection.

Definition at line 133 of file REveProjections.hxx.

◆ PreScalePoint() [1/2]

void REveProjection::PreScalePoint ( Float_t x,
Float_t y 
)

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 154 of file REveProjections.cxx.

◆ PreScalePoint() [2/2]

void REveProjection::PreScalePoint ( Float_t x,
Float_t y,
Float_t z 
)

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

Definition at line 163 of file REveProjections.cxx.

◆ PreScaleVariable()

void REveProjection::PreScaleVariable ( Int_t  dim,
Float_t v 
)
protected

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

Definition at line 131 of file REveProjections.cxx.

◆ ProjectPoint()

virtual void ROOT::Experimental::REveProjection::ProjectPoint ( Float_t x,
Float_t y,
Float_t z,
Float_t  d,
EPProc_e  p = kPP_Full 
)
pure virtual

◆ ProjectPointdv() [1/2]

void REveProjection::ProjectPointdv ( const REveTrans 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.

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

Definition at line 99 of file REveProjections.cxx.

◆ ProjectPointdv() [2/2]

void REveProjection::ProjectPointdv ( Double_t v,
Float_t  d 
)

Project double array.

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

Definition at line 65 of file REveProjections.cxx.

◆ ProjectPointfv() [1/2]

void REveProjection::ProjectPointfv ( const REveTrans 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.

Definition at line 84 of file REveProjections.cxx.

◆ ProjectPointfv() [2/2]

void REveProjection::ProjectPointfv ( Float_t v,
Float_t  d 
)

Project float array.

Definition at line 56 of file REveProjections.cxx.

◆ ProjectVector() [1/2]

void REveProjection::ProjectVector ( const REveTrans t,
REveVector v,
Float_t  d 
)

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

Definition at line 119 of file REveProjections.cxx.

◆ ProjectVector() [2/2]

void REveProjection::ProjectVector ( REveVector v,
Float_t  d 
)

Project REveVector.

Definition at line 75 of file REveProjections.cxx.

◆ RefCenter()

const REveVector & ROOT::Experimental::REveProjection::RefCenter ( ) const
inline

Definition at line 95 of file REveProjections.hxx.

◆ SetCenter()

virtual void ROOT::Experimental::REveProjection::SetCenter ( REveVector v)
inlinevirtual

Reimplemented in ROOT::Experimental::REveRhoZProjection.

Definition at line 96 of file REveProjections.hxx.

◆ SetDirectionalVector()

void REveProjection::SetDirectionalVector ( Int_t  screenAxis,
REveVector vec 
)
virtual

Get vector for axis in a projected space.

Reimplemented in ROOT::Experimental::REveRhoZProjection.

Definition at line 394 of file REveProjections.cxx.

◆ SetDisplaceOrigin()

void REveProjection::SetDisplaceOrigin ( bool  x)

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 316 of file REveProjections.cxx.

◆ SetDistortion()

void REveProjection::SetDistortion ( Float_t  d)

Set distortion.

Definition at line 259 of file REveProjections.cxx.

◆ SetFixR()

void REveProjection::SetFixR ( Float_t  x)

Set fixed radius.

Definition at line 271 of file REveProjections.cxx.

◆ SetFixZ()

void REveProjection::SetFixZ ( Float_t  x)

Set fixed radius.

Definition at line 281 of file REveProjections.cxx.

◆ SetGeoMode()

void ROOT::Experimental::REveProjection::SetGeoMode ( EGeoMode_e  m)
inline

Definition at line 105 of file REveProjections.hxx.

◆ SetMaxTrackStep()

void ROOT::Experimental::REveProjection::SetMaxTrackStep ( Float_t  x)
inline

Definition at line 128 of file REveProjections.hxx.

◆ SetName()

void ROOT::Experimental::REveProjection::SetName ( const char *  txt)
inline

Definition at line 93 of file REveProjections.hxx.

◆ SetPastFixRFac()

void REveProjection::SetPastFixRFac ( Float_t  x)

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

Definition at line 291 of file REveProjections.cxx.

◆ SetPastFixZFac()

void REveProjection::SetPastFixZFac ( Float_t  x)

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

Definition at line 326 of file REveProjections.cxx.

◆ SetType()

void ROOT::Experimental::REveProjection::SetType ( EPType_e  t)
inline

Definition at line 102 of file REveProjections.hxx.

◆ SetUsePreScale()

void ROOT::Experimental::REveProjection::SetUsePreScale ( Bool_t  x)
inline

Definition at line 109 of file REveProjections.hxx.

◆ SubSpaceId()

virtual Int_t ROOT::Experimental::REveProjection::SubSpaceId ( const REveVector ) const
inlinevirtual

Reimplemented in ROOT::Experimental::REveRhoZProjection.

Definition at line 132 of file REveProjections.hxx.

Member Data Documentation

◆ fCenter

REveVector ROOT::Experimental::REveProjection::fCenter
protected

Definition at line 55 of file REveProjections.hxx.

◆ fDisplaceOrigin

bool ROOT::Experimental::REveProjection::fDisplaceOrigin
protected

Definition at line 57 of file REveProjections.hxx.

◆ fDistortion

Float_t ROOT::Experimental::REveProjection::fDistortion
protected

Definition at line 62 of file REveProjections.hxx.

◆ fFixR

Float_t ROOT::Experimental::REveProjection::fFixR
protected

Definition at line 63 of file REveProjections.hxx.

◆ fFixZ

Float_t ROOT::Experimental::REveProjection::fFixZ
protected

Definition at line 64 of file REveProjections.hxx.

◆ fGeoMode

EGeoMode_e ROOT::Experimental::REveProjection::fGeoMode
protected

Definition at line 52 of file REveProjections.hxx.

◆ fgEps

Float_t REveProjection::fgEps = 0.005f
static

Definition at line 145 of file REveProjections.hxx.

◆ fgEpsSqr

Float_t REveProjection::fgEpsSqr = 0.000025f
static

Definition at line 146 of file REveProjections.hxx.

◆ fMaxTrackStep

Float_t ROOT::Experimental::REveProjection::fMaxTrackStep
protected

Definition at line 71 of file REveProjections.hxx.

◆ fName

std::string ROOT::Experimental::REveProjection::fName
protected

Definition at line 53 of file REveProjections.hxx.

◆ fPastFixRFac

Float_t ROOT::Experimental::REveProjection::fPastFixRFac
protected

Definition at line 65 of file REveProjections.hxx.

◆ fPastFixRScale

Float_t ROOT::Experimental::REveProjection::fPastFixRScale
protected

Definition at line 69 of file REveProjections.hxx.

◆ fPastFixZFac

Float_t ROOT::Experimental::REveProjection::fPastFixZFac
protected

Definition at line 66 of file REveProjections.hxx.

◆ fPastFixZScale

Float_t ROOT::Experimental::REveProjection::fPastFixZScale
protected

Definition at line 70 of file REveProjections.hxx.

◆ fPreScales

vPreScale_t ROOT::Experimental::REveProjection::fPreScales[3]
protected

Definition at line 60 of file REveProjections.hxx.

◆ fScaleR

Float_t ROOT::Experimental::REveProjection::fScaleR
protected

Definition at line 67 of file REveProjections.hxx.

◆ fScaleZ

Float_t ROOT::Experimental::REveProjection::fScaleZ
protected

Definition at line 68 of file REveProjections.hxx.

◆ fType

EPType_e ROOT::Experimental::REveProjection::fType
protected

Definition at line 51 of file REveProjections.hxx.

◆ fUsePreScale

Bool_t ROOT::Experimental::REveProjection::fUsePreScale
protected

Definition at line 59 of file REveProjections.hxx.

Libraries for ROOT::Experimental::REveProjection:
[legend]

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