This file is indexed.

/usr/include/root/TH2Editor.h is in libroot-gui-ged-dev 5.34.14-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
// @(#)root/ged:$Id$
// Author: Carsten Hof 08/08/04

/*************************************************************************
 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TH2Editor
#define ROOT_TH2Editor

//////////////////////////////////////////////////////////////////////////
//                                                                      //
//  TH2Editor                                                           //
//                                                                      //
//  Editor changing histogram attributes                                //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGedFrame
#include "TGedFrame.h"
#endif

class TH2;
class TGComboBox;
class TGLabel;
class TGTextEntry;
class TGCheckButton;
class TString;
class TGDoubleHSlider;
class TGHSlider;
class TGNumberEntry;
class TGHButtonGroup;
class TGRadioButton;
class TGNumberEntryField;
class TGColorSelect;
class TGedPatternSelect;
class TGTextButton;

class TH2Editor : public TGedFrame {

protected:
   TH2                 *fHist;            // histogram object
   TGCompositeFrame    *fBin;             // Contains the Binning Widgets
   TGCompositeFrame    *fFit;             // Contains the Fitting Widgets
   TGTextEntry         *fTitle;           // histogram title input field
   TGComboBox          *fTypeCombo;       // histogram type combo box
   TGComboBox          *fCoordsCombo;     // Coordinate System combo box
   TGComboBox          *fContCombo;       // Contour selecting combo box
   TGLabel             *fColContLbl;      // No. of Contours Label 1
   TGLabel             *fColContLbl1;     // No. of Contours Label 2
   Int_t                fTitlePrec;       // font precision level
   TGHButtonGroup      *fDimGroup;        // Radiobuttongroup to change 2D <-> 3D-Plot
   TGRadioButton       *fDim;             // 2D-Plot RadioButton
   TGRadioButton       *fDim0;            // 3D-Plot RadioButton
   TGLayoutHints       *fDimlh;           // layout hints for 2D-Plot RadioButton
   TGLayoutHints       *fDim0lh;          // layout hints for 3D-Plot RadioButton
   TGCompositeFrame    *f6;               // Frame that contains the 2D CheckBox DrawOptions
   TGCompositeFrame    *f9;               // Frame that contains the 3D CheckBox DrawOptions
   TGCompositeFrame    *f12;              // Frame that contains the Bar-Title
   TGCompositeFrame    *f13;              // Frame that contains the Bar Width/Offset NumberEntries
   TGCompositeFrame    *f38;              // Frame that contains the Frame Fill widgets
   TGCheckButton       *fAddError;        // CheckBox connected to error bars
   TGCheckButton       *fAddPalette;      // CheckBox connected to Z option (2D)
   TGCheckButton       *fAddPalette1;     // CheckBox connected to Z option (3D)
   TGCheckButton       *fAddArr;          // CheckBox connected to Arr-Option
   TGCheckButton       *fAddBox;          // CheckBox connected to Box-Option
   TGCheckButton       *fAddScat;         // CheckBox connected to Scat-Option
   TGCheckButton       *fAddCol;          // CheckBox connected to Col-Option
   TGCheckButton       *fAddFB;           // Draw front box (or not)
   TGCheckButton       *fAddBB;           // Draw back box (or not)
   TGCheckButton       *fAddText;         // Draw bin contents as text
   TGNumberEntry       *fContLevels;      // Set number of contour levels
   TGNumberEntry       *fContLevels1;     // Set number of contour levels
   TGNumberEntry       *fBarWidth;        // Set bar width of histogram
   TGNumberEntry       *fBarOffset;       // Set bar offset of histogram
   TGCompositeFrame    *fBinXCont;        // Contains the rebin widgets for case 1
   TGHSlider           *fBinXSlider;      // Slider to set rebinning x integer value
   TGNumberEntryField  *fBinXNumberEntry; // Label which shows the rebinned bin number
   TGHSlider           *fBinYSlider;      // Slider to set rebinning y integer value
   TGNumberEntryField  *fBinYNumberEntry; // Label which shows the rebinned bin number
   TGTextButton        *fApply;           // Apply-Button to accept the rebinned histogram
   TGTextButton        *fCancel;          // Cancel-Button to reprobate the rebinned histogram
   TGCompositeFrame    *fBinXCont1;       // Contains the X Rebin Widgets for case 2
   TGHSlider           *fBinXSlider1;     // Slider to set x rebinning integer value
   TGNumberEntryField  *fBinXNumberEntry1;// Label which shows the rebinned x bin number
   TGNumberEntryField  *fXOffsetNumberEntry; // Shows the offset to the x origin of the histogram
   TGHSlider           *fXBinOffsetSld;   // Add an x-offset to the origin of the histogram

   TGCompositeFrame    *fBinYCont1;       // Contains the Y Rebin Widgets for case 2
   TGHSlider           *fBinYSlider1;     // Slider to set y rebinning integer value
   TGNumberEntryField  *fBinYNumberEntry1;// Label which shows the rebinned y bin number
   TGNumberEntryField  *fYOffsetNumberEntry; // Shows the offset to the y origin of the histogram
   TGHSlider           *fYBinOffsetSld;   // Add an y-offset to the origin of the histogram
   TGDoubleHSlider     *fSliderX;         // Slider to set x-axis range
   TGNumberEntryField  *fSldXMin;         // Contains the minimum value of the x-Axis
   TGNumberEntryField  *fSldXMax;         // Contains the maximum value of the x-Axis
   TGDoubleHSlider     *fSliderY;         // Slider to set y-axis range
   TGNumberEntryField  *fSldYMin;         // Contains the minimum value of the y-Axis
   TGNumberEntryField  *fSldYMax;         // Contains the maximum value of the y-Axis
   TGCheckButton       *fDelaydraw;       // Delayed drawing of the new axis range
   TGColorSelect       *fFrameColor;      // Select the Frame Color
   TGedPatternSelect   *fFramePattern;    // Select the Frame Pattern Style
   TString              fCutString;       // Contais info about graphical cuts (if any)

   static  TGComboBox *BuildHistTypeComboBox(TGFrame *parent, Int_t id);
   static  TGComboBox *BuildHistCoordsComboBox(TGFrame *parent, Int_t id);
   static  TGComboBox *BuildHistContComboBox(TGFrame* parent, Int_t id);

   virtual void   ConnectSignals2Slots();
           void   CreateBinTab();       // Creates the Bin Tab (part of the SetGedEditor)

private:
   void    PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4);
   TString GetHistTypeLabel();
   TString GetHistCoordsLabel();
   TString GetHistContLabel();
   TString GetHistAdditiveLabel();
   TString GetCutOptionString();

   Int_t     fPx1old,
             fPy1old,
             fPx2old,
             fPy2old;
   Float_t   fP1oldx[3],
             fP2oldx[3],
             fP3oldx[3],
             fP4oldx[3],
             fP5oldx[3],
             fP6oldx[3],
             fP7oldx[3],
             fP8oldx[3];
   Float_t   fP1oldy[3],
             fP2oldy[3],
             fP3oldy[3],
             fP4oldy[3],
             fP5oldy[3],
             fP6oldy[3],
             fP7oldy[3],
             fP8oldy[3];
   TH2      *fBinHist;         // Cloned histogram for rebin
   Double_t  fOldXOffset;      // saves the old x offset of the histogram
   Double_t  fOldYOffset;      // saves the old y offset of the histogram

public:
   TH2Editor(const TGWindow *p = 0, 
             Int_t width = 140, Int_t height = 30,
             UInt_t options = kChildFrame,
             Pixel_t back = GetDefaultFrameBackground());
   virtual ~TH2Editor();

   virtual Bool_t AcceptModel(TObject* model);
   virtual void   SetModel(TObject* obj);
   virtual void   ActivateBaseClassEditors(TClass* cl);

   virtual void DoTitle(const char *text);
   virtual void DoHistView();
   virtual void DoHistSimple();
   virtual void DoHistComplex();
   virtual void DoHistChanges();
   virtual void DoAddArr(Bool_t on);
   virtual void DoAddBox(Bool_t on);
   virtual void DoAddCol(Bool_t on);
   virtual void DoAddScat(Bool_t on);
   virtual void DoAddText(Bool_t on);
   virtual void DoAddError(Bool_t on);
   virtual void DoAddPalette(Bool_t on);
   virtual void DoAddFB();
   virtual void DoAddBB();
   virtual void DoContLevel();
   virtual void DoContLevel1();
   virtual void DoBarWidth();
   virtual void DoBarOffset();
   virtual void DoBinPressed();
   virtual void DoBinMoved();
   virtual void DoBinReleased();
   virtual void DoBinLabel();
   virtual void DoApply();
   virtual void DoCancel();
   virtual void DoBinReleased1();
   virtual void DoBinMoved1();
   virtual void DoBinLabel1();
   virtual void DoOffsetMoved();
   virtual void DoOffsetReleased();
   virtual void DoOffsetPressed();
   virtual void DoBinOffset();
   virtual void DoSliderXMoved();
   virtual void DoSliderXPressed();
   virtual void DoSliderXReleased();
   virtual void DoXAxisRange();
   virtual void DoSliderYMoved();
   virtual void DoSliderYPressed();
   virtual void DoSliderYReleased();
   virtual void DoYAxisRange();
   virtual void DoFillColor(Pixel_t);
   virtual void DoFillPattern(Style_t);

   Int_t* Dividers(Int_t n);

   ClassDef(TH2Editor,0)  // TH2 editor
};

#endif