14 #include "KVIDGraph.h" 
  126       idx_max = nlines - 1;        
 
  128       dist = dist_min = dist_max = -1.;
 
  130       while (idx_max > idx_min + 1) {
 
  133          Bool_t point_above_line = 
line->WhereAmI(
x, 
y, position);
 
  135          if (point_above_line) {
 
  138             idx += (
Int_t)((idx_max - idx) / 2 + 0.5);
 
  143             idx -= (
Int_t)((idx - idx_min) / 2 + 0.5);
 
  153       if (dist_max < dist_min) {
 
  172       if (!nlines) 
return 0;   
 
  174       idx_max = nlines - 1;        
 
  176       dist = dist_min = dist_max = -1.;
 
  178       while (idx_max > idx_min + 1) {
 
  181          Bool_t point_above_line = 
line->WhereAmI(
x, 
y, position);
 
  183          if (point_above_line) {
 
  186             idx += (
Int_t)((idx_max - idx) / 2 + 0.5);
 
  191             idx -= (
Int_t)((idx - idx_min) / 2 + 0.5);
 
  200       if (idx_max == nlines - 1) {
 
  226       if (dist_max < dist_min) {
 
  247       while ((ii > -1 && ii < nlines)) {
 
  249          if (
l->IsBetweenEndPoints(
x, 
y, axis)) 
break;
 
  252       if (ii < 0 || ii >= nlines) {
 
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Base class for particle identification in a 2D map.
KVList fIdentifiers
list of identification objects
Int_t GetNumberOfIdentifiers() const
KVIDentifier * GetIdentifierAt(Int_t index) const
Abstract base class for 2D identification grids in e.g. (dE,E) maps.
virtual TClass * DefaultIDLineClass()
virtual void CalculateLineWidths()
void ReadIdentifierFromAsciiFile(TString &name, TString &type, TString &cl, std::ifstream &gridfile) override
void Initialize() override
KVIDLine * FindNearestEmbracingIDLine(Double_t x, Double_t y, const Char_t *position, const Char_t *axis, Int_t &idx, Int_t &idx_min, Int_t &idx_max, Double_t &dist, Double_t &dist_min, Double_t &dist_max) const
KVIDGrid()
Default constructor.
KVIDLine * FindNextEmbracingLine(Int_t &index, Int_t inc_index, Double_t x, Double_t y, const Char_t *axis) const
virtual TClass * DefaultOKLineClass()
KVIDLine * FindNearestIDLineFast(Double_t x, Double_t y, const Char_t *position, Int_t &idx, Int_t &idx_min, Int_t &idx_max, Double_t &dist, Double_t &dist_min, Double_t &dist_max) const
void init()
Initialisations, used by constructors.
KVIDLine * NewLine(const Char_t *idline_class="")
Int_t GetIDLinesEmbracingPoint(const Char_t *direction, Double_t x, Double_t y) const
TObjArray fEmbracingLines
temporary array used by GetIDLinesEmbracingPoint
Base class for lines/cuts used for particle identification in 2D data maps.
Double_t DistanceToLine(Double_t px, Double_t py, Int_t &)
Bool_t WhereAmI(Double_t px, Double_t py, Option_t *opt)
static TClass * GetClass(Bool_t load=kTRUE, Bool_t silent=kFALSE)
TObject * UncheckedAt(Int_t i) const
virtual Int_t IndexOf(const TObject *obj) const
double dist(AxisAngle const &r1, AxisAngle const &r2)