This file is indexed.

/usr/include/root/TProfile3D.h is in libroot-hist-dev 5.34.30-0ubuntu8.

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
// @(#)root/hist:$Id$
// Author: Rene Brun   17/05/2006

/*************************************************************************
 * Copyright (C) 1995-2000, 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_TProfile3D
#define ROOT_TProfile3D


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TProfile3D                                                           //
//                                                                      //
// Profile3D histogram class.                                           //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TH3
#include "TH3.h"
#endif
#ifndef ROOT_TProfile
#include "TProfile.h"
#endif

class TProfile3D : public TH3D {

public:
   friend class TProfileHelper;

protected:
   TArrayD       fBinEntries;      //number of entries per bin
   EErrorType    fErrorMode;       //Option to compute errors
   Double_t      fTmin;            //Lower limit in T (if set)
   Double_t      fTmax;            //Upper limit in T (if set)
   Bool_t        fScaling;         //!True when TProfile3D::Scale is called
   Double_t      fTsumwt;          //Total Sum of weight*T
   Double_t      fTsumwt2;         //Total Sum of weight*T*T
   TArrayD       fBinSumw2;        //Array of sum of squares of weights per bin 
   static Bool_t fgApproximate;    //bin error approximation option

   virtual Int_t    BufferFill(Double_t, Double_t) {return -2;} //may not use
   virtual Int_t    BufferFill(Double_t, Double_t, Double_t) {return -2;} //may not use
   virtual Int_t    BufferFill(Double_t, Double_t, Double_t, Double_t) {return -2;} //may not use
   virtual Int_t    BufferFill(Double_t x, Double_t y, Double_t z, Double_t t, Double_t w);

   // helper methods for the Merge unification in TProfileHelper
   void SetBins(const Int_t* nbins,const Double_t* range) { SetBins(nbins[0], range[0], range[1], 
                                                                    nbins[1], range[2], range[3], 
                                                                    nbins[2], range[4], range[5]); };
   Int_t Fill(const Double_t* v) { return Fill(v[0], v[1], v[2], v[3], v[4]); };


   using TH3::Fill;
   Int_t             Fill(Double_t, Double_t,Double_t) {return TH3::Fill(0); } //MayNotUse
   Int_t             Fill(const char *, const char *, const char *, Double_t) {return TH3::Fill(0); } //MayNotUse
   Int_t             Fill(const char *, Double_t , const char *, Double_t) {return TH3::Fill(0); } //MayNotUse
   Int_t             Fill(const char *, const char *, Double_t, Double_t) {return TH3::Fill(0); } //MayNotUse
   Int_t             Fill(Double_t, const char *, const char *, Double_t) {return TH3::Fill(0); } //MayNotUse
   Int_t             Fill(Double_t, const char *, Double_t, Double_t) {return TH3::Fill(0); } //MayNotUse
   Int_t             Fill(Double_t, Double_t, const char *, Double_t) {return TH3::Fill(0); } //MayNotUse

   virtual TProfile2D *DoProjectProfile2D(const char* name, const char * title, TAxis* projX, TAxis* projY, 
                                          bool originalRange, bool useUF, bool useOF) const;

   
private:
   Double_t *GetB()  {return &fBinEntries.fArray[0];}
   Double_t *GetB2() {return (fBinSumw2.fN ? &fBinSumw2.fArray[0] : 0 ); }
   Double_t *GetW()  {return &fArray[0];}
   Double_t *GetW2() {return &fSumw2.fArray[0];}
   void  SetBins(Int_t, Double_t, Double_t)
      { MayNotUse("SetBins(Int_t, Double_t, Double_t"); }
   void  SetBins(Int_t, const Double_t*)
      { MayNotUse("SetBins(Int_t, const Double_t*"); }
   void SetBins(Int_t, Double_t, Double_t, Int_t, Double_t, Double_t)
      { MayNotUse("SetBins(Int_t, Double_t, Double_t, Int_t, Double_t, Double_t"); }
   void SetBins(Int_t, const Double_t*, Int_t, const Double_t*)
      { MayNotUse("SetBins(Int_t, const Double_t*, Int_t, const Double_t*"); }

public:
   TProfile3D();
   TProfile3D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
                                                ,Int_t nbinsy,Double_t ylow,Double_t yup
                                                ,Int_t nbinsz,Double_t zlow,Double_t zup, Option_t *option="");
   TProfile3D(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins
                                                ,Int_t nbinsy,const Double_t *ybins
                                                ,Int_t nbinsz,const Double_t *zbins,Option_t *option="");
   TProfile3D(const TProfile3D &profile);
   virtual ~TProfile3D();
   virtual Bool_t    Add(TF1 *h1, Double_t c1=1, Option_t *option="");
   virtual Bool_t    Add(const TH1 *h1, Double_t c1=1);
   virtual Bool_t    Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1); // *MENU*
   static  void      Approximate(Bool_t approx=kTRUE);
   void              BuildOptions(Double_t tmin, Double_t tmax, Option_t *option);
   virtual Int_t     BufferEmpty(Int_t action=0);
   virtual void      Copy(TObject &hnew) const;
   virtual Bool_t    Divide(TF1 *h1, Double_t c1=1);
   virtual Bool_t    Divide(const TH1 *h1);
   virtual Bool_t    Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
   virtual TH1      *DrawCopy(Option_t *option="") const;
   virtual Int_t     Fill(Double_t x, Double_t y, Double_t z, Double_t t);
   virtual Int_t     Fill(Double_t x, Double_t y, Double_t z, Double_t t, Double_t w);
   virtual Double_t  GetBinContent(Int_t bin) const;
   virtual Double_t  GetBinContent(Int_t,Int_t) const
                     { MayNotUse("GetBinContent(Int_t, Int_t"); return -1; }
   virtual Double_t  GetBinContent(Int_t binx, Int_t biny, Int_t binz) const {return GetBinContent(GetBin(binx,biny,binz));}
   virtual Double_t  GetBinError(Int_t bin) const;
   virtual Double_t  GetBinError(Int_t,Int_t) const
                     { MayNotUse("GetBinError(Int_t, Int_t"); return -1; }
   virtual Double_t  GetBinError(Int_t binx, Int_t biny, Int_t binz) const {return GetBinError(GetBin(binx,biny,binz));}
   virtual Double_t  GetBinEntries(Int_t bin) const;
   virtual Double_t  GetBinEffectiveEntries(Int_t bin);
   virtual TArrayD *GetBinSumw2() {return &fBinSumw2;}
   virtual const TArrayD *GetBinSumw2() const {return &fBinSumw2;}
   Option_t         *GetErrorOption() const;
   virtual void      GetStats(Double_t *stats) const;
   virtual Double_t  GetTmin() const {return fTmin;}
   virtual Double_t  GetTmax() const {return fTmax;}
   virtual Long64_t  Merge(TCollection *list);
   virtual Bool_t    Multiply(TF1 *h1, Double_t c1=1);
   virtual Bool_t    Multiply(const TH1 *h1);
   virtual Bool_t    Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
   virtual TH3D     *ProjectionXYZ(const char *name="_pxyz", Option_t *option="e") const;
   virtual TProfile2D  *Project3DProfile(Option_t *option="xy") const; // *MENU*
   virtual void      PutStats(Double_t *stats);
   virtual void      Reset(Option_t *option="");
   virtual void      RebinAxis(Double_t x, TAxis *axis);
   virtual void      SavePrimitive(ostream &out, Option_t *option = "");
   virtual void      Scale(Double_t c1=1, Option_t *option="");
   virtual void      SetBinEntries(Int_t bin, Double_t w);
   virtual void      SetBins(Int_t nbinsx, Double_t xmin, Double_t xmax, 
                             Int_t nbinsy, Double_t ymin, Double_t ymax, 
                             Int_t nbinsz, Double_t zmin, Double_t zmax);
   virtual void      SetBins(Int_t nx, const Double_t *xBins, Int_t ny, const Double_t * yBins, Int_t nz,
                             const Double_t *zBins);
   virtual void      SetBinsLength(Int_t n=-1);
   virtual void      SetBuffer(Int_t buffersize, Option_t *opt="");
   virtual void      SetErrorOption(Option_t *option=""); // *MENU*
   virtual void      Sumw2(Bool_t flag = kTRUE); 

   ClassDef(TProfile3D,7)  //Profile3D histogram class
};

#endif