REveProjection Base for specific classes that implement non-linear projections.
Definition at line 30 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_RhoZ , kPT_RPhi , kPT_XZ , kPT_YZ , kPT_ZX , kPT_ZY , kPT_3D , kPT_End } |
typedef std::vector< PreScaleEntry_t > | vPreScale_t |
Public Member Functions | |
REveProjection () | |
Constructor. | |
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. | |
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. | |
virtual void | BisectBreakPoint (REveVector &vL, REveVector &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) |
Float_t | GetMaxTrackStep () const |
const char * | GetName () const |
REveVector | GetOrthogonalCenter (int idx, REveVector &out) |
Get center ortogonal to given axis index. | |
Float_t | GetPastFixRFac () const |
Float_t | GetPastFixZFac () const |
virtual Float_t * | GetProjectedCenter () |
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, REveVector &dirVec, REveVector &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 |
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: | |
void | PreScalePoint (Float_t &x, Float_t &y, Float_t &z) |
Pre-scale point (x, y, z) in projected coordinates for 3D projection. | |
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. | |
void | ProjectPointdv (Double_t *v, Float_t d) |
Project double array. | |
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. | |
void | ProjectPointfv (Float_t *v, Float_t d) |
Project float array. | |
void | ProjectVector (const REveTrans *t, REveVector &v, Float_t d) |
Project REveVector, converting it to global coordinate system first if transformation matrix is set. | |
void | ProjectVector (REveVector &v, Float_t d) |
Project REveVector. | |
const REveVector & | RefCenter () const |
virtual void | SetCenter (REveVector &v) |
virtual void | SetDirectionalVector (Int_t screenAxis, REveVector &vec) |
Get vector for axis in a 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 *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) |
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. | |
#include <ROOT/REveProjections.hxx>
typedef std::vector<PreScaleEntry_t> ROOT::Experimental::REveProjection::vPreScale_t |
Definition at line 50 of file REveProjections.hxx.
Enumerator | |
---|---|
kGM_Unknown | |
kGM_Polygons | |
kGM_Segments |
Definition at line 35 of file REveProjections.hxx.
Enumerator | |
---|---|
kPP_Plane | |
kPP_Distort | |
kPP_Full |
Definition at line 34 of file REveProjections.hxx.
Enumerator | |
---|---|
kPT_Unknown | |
kPT_RhoZ | |
kPT_RPhi | |
kPT_XZ | |
kPT_YZ | |
kPT_ZX | |
kPT_ZY | |
kPT_3D | |
kPT_End |
Definition at line 32 of file REveProjections.hxx.
REveProjection::REveProjection | ( | ) |
Constructor.
Definition at line 37 of file REveProjections.cxx.
|
inlinevirtual |
Definition at line 79 of file REveProjections.hxx.
|
inlinevirtual |
Reimplemented in ROOT::Experimental::REveRhoZProjection.
Definition at line 133 of file REveProjections.hxx.
Add new scaling range for given coordinate.
Arguments:
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.
|
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.
|
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.
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.
void REveProjection::ClearPreScales | ( | ) |
Clear all pre-scaling information.
Definition at line 249 of file REveProjections.cxx.
|
inline |
Definition at line 102 of file REveProjections.hxx.
|
inline |
Definition at line 120 of file REveProjections.hxx.
|
inline |
Definition at line 121 of file REveProjections.hxx.
|
inline |
Definition at line 122 of file REveProjections.hxx.
|
inline |
Definition at line 108 of file REveProjections.hxx.
|
inline |
Definition at line 129 of file REveProjections.hxx.
|
inline |
Definition at line 94 of file REveProjections.hxx.
REveVector REveProjection::GetOrthogonalCenter | ( | int | idx, |
REveVector & | out | ||
) |
Get center ortogonal to given axis index.
Definition at line 405 of file REveProjections.cxx.
|
inline |
Definition at line 125 of file REveProjections.hxx.
|
inline |
Definition at line 126 of file REveProjections.hxx.
|
virtual |
Get projected center.
Reimplemented in ROOT::Experimental::REveRhoZProjection, ROOT::Experimental::REveXZProjection, ROOT::Experimental::REveYZProjection, ROOT::Experimental::REveZXProjection, and ROOT::Experimental::REveZYProjection.
Definition at line 300 of file REveProjections.cxx.
Project point on given axis and return projected value.
Definition at line 523 of file REveProjections.cxx.
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.
|
inline |
Definition at line 105 of file REveProjections.hxx.
|
inline |
Definition at line 110 of file REveProjections.hxx.
Inverse projection.
Definition at line 421 of file REveProjections.cxx.
|
inlinevirtual |
Reimplemented in ROOT::Experimental::REveRhoZProjection.
Definition at line 132 of file REveProjections.hxx.
|
pure virtual |
|
pure virtual |
|
inlinevirtual |
Reimplemented in ROOT::Experimental::REveRhoZProjection.
Definition at line 135 of file REveProjections.hxx.
Pre-scale point (x, y) in projected coordinates for 2D projections:
Definition at line 154 of file REveProjections.cxx.
Pre-scale point (x, y, z) in projected coordinates for 3D projection.
Definition at line 163 of file REveProjections.cxx.
Pre-scale single variable with pre-scale entry dim.
Definition at line 131 of file REveProjections.cxx.
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.
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.
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.
Project float array.
Definition at line 56 of file REveProjections.cxx.
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.
void REveProjection::ProjectVector | ( | REveVector & | v, |
Float_t | d | ||
) |
Project REveVector.
Definition at line 75 of file REveProjections.cxx.
|
inline |
Definition at line 97 of file REveProjections.hxx.
|
inlinevirtual |
Reimplemented in ROOT::Experimental::REveRhoZProjection, ROOT::Experimental::REveXZProjection, ROOT::Experimental::REveYZProjection, ROOT::Experimental::REveZXProjection, and ROOT::Experimental::REveZYProjection.
Definition at line 98 of file REveProjections.hxx.
|
virtual |
Get vector for axis in a projected space.
Reimplemented in ROOT::Experimental::REveRhoZProjection, ROOT::Experimental::REveXZProjection, ROOT::Experimental::REveYZProjection, ROOT::Experimental::REveZXProjection, and ROOT::Experimental::REveZYProjection.
Definition at line 394 of file REveProjections.cxx.
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.
void REveProjection::SetDistortion | ( | Float_t | d | ) |
Set distortion.
Definition at line 259 of file REveProjections.cxx.
void REveProjection::SetFixR | ( | Float_t | x | ) |
Set fixed radius.
Definition at line 271 of file REveProjections.cxx.
void REveProjection::SetFixZ | ( | Float_t | x | ) |
Set fixed radius.
Definition at line 281 of file REveProjections.cxx.
|
inline |
Definition at line 107 of file REveProjections.hxx.
|
inline |
Definition at line 130 of file REveProjections.hxx.
|
inline |
Definition at line 95 of file REveProjections.hxx.
void REveProjection::SetPastFixRFac | ( | Float_t | x | ) |
Set 2's-exponent for relative scaling beyond FixR.
Definition at line 291 of file REveProjections.cxx.
void REveProjection::SetPastFixZFac | ( | Float_t | x | ) |
Set 2's-exponent for relative scaling beyond FixZ.
Definition at line 326 of file REveProjections.cxx.
|
inline |
Definition at line 104 of file REveProjections.hxx.
|
inline |
Definition at line 111 of file REveProjections.hxx.
|
inlinevirtual |
Reimplemented in ROOT::Experimental::REveRhoZProjection.
Definition at line 134 of file REveProjections.hxx.
|
protected |
Definition at line 57 of file REveProjections.hxx.
|
protected |
Definition at line 59 of file REveProjections.hxx.
|
protected |
Definition at line 64 of file REveProjections.hxx.
|
protected |
Definition at line 65 of file REveProjections.hxx.
|
protected |
Definition at line 66 of file REveProjections.hxx.
|
protected |
Definition at line 54 of file REveProjections.hxx.
Definition at line 147 of file REveProjections.hxx.
Definition at line 148 of file REveProjections.hxx.
|
protected |
Definition at line 73 of file REveProjections.hxx.
|
protected |
Definition at line 55 of file REveProjections.hxx.
|
protected |
Definition at line 67 of file REveProjections.hxx.
|
protected |
Definition at line 71 of file REveProjections.hxx.
|
protected |
Definition at line 68 of file REveProjections.hxx.
|
protected |
Definition at line 72 of file REveProjections.hxx.
|
protected |
Definition at line 62 of file REveProjections.hxx.
|
protected |
Definition at line 69 of file REveProjections.hxx.
|
protected |
Definition at line 70 of file REveProjections.hxx.
|
protected |
Definition at line 53 of file REveProjections.hxx.
|
protected |
Definition at line 61 of file REveProjections.hxx.