This file is indexed.

/usr/include/root/TVolumePosition.h is in libroot-misc-table-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
// @(#)root/table:$Id$
// Author: Valery Fine(fine@bnl.gov)   25/12/98

/*************************************************************************
 * 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.             *
 *************************************************************************/

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TVolumePosition                                                      //
//                                                                      //
// Description of parameters to position a 3-D geometry object          //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TVolumePosition
#define ROOT_TVolumePosition

#include "TVolume.h"

class TBrowser;
class TRotMatrix;

class TVolumePosition  : public TObject {
protected:
   Double_t        fX[3];        //X offset with respect to parent object
   TRotMatrix     *fMatrix;      //Pointer to rotation matrix
   TVolume        *fNode;        //Refs pointer to the node defined
   UInt_t          fId;          // Unique ID of this position

protected:
   void DeleteOwnMatrix();

public:
   enum EPositionBits {
       kIsOwn      = BIT(23)   // if the TVolumePoistion doesn't own the TRotMatrix object
   };   
   TVolumePosition(TVolume *node=0,Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0);
   TVolumePosition(TVolume *node,Double_t x, Double_t y, Double_t z, const char *matrixname);
   TVolumePosition(const TVolumePosition* oldPosition, const TVolumePosition* curPosition);
   TVolumePosition(const TVolumePosition&pos);
   virtual ~TVolumePosition();
   virtual void        Browse(TBrowser *b);
   virtual Float_t    *Errmx2Local (const Float_t *masterError, Float_t *localError  ) const;
   virtual Double_t   *Errmx2Local (const Double_t *masterError, Double_t *localError) const;
   virtual Float_t    *Errmx2Master(const Float_t *localError, Float_t *masterError  ) const;
   virtual Double_t   *Errmx2Master(const Double_t *localError, Double_t *masterError) const;
   virtual Double_t   *Cormx2Local (const Double_t *masterCorr, Double_t *localCorr  ) const;
   virtual Float_t    *Cormx2Local (const Float_t *masterCorr, Float_t *localCorr    ) const;
   virtual Double_t   *Cormx2Master(const Double_t *localCorr, Double_t *masterCorr  ) const;
   virtual Float_t    *Cormx2Master(const Float_t *localCorr, Float_t *masterCorr    ) const;
   virtual Double_t   *Master2Local(const Double_t *master, Double_t *local,Int_t nPoints=1) const;
   virtual Float_t    *Master2Local(const Float_t *master, Float_t *local,Int_t nPoints=1) const;

   virtual Int_t       DistancetoPrimitive(Int_t px, Int_t py);
   virtual TDataSet *DefineSet();
   virtual void        Draw(Option_t *depth="3"); // *MENU*
   virtual void        ExecuteEvent(Int_t event, Int_t px, Int_t py);
   virtual TVolume     *GetNode() const {return fNode;}
   virtual char      *GetObjectInfo(Int_t px, Int_t py) const;
   const   Option_t    *GetOption() const { return GetNode()?GetNode()->GetOption():0;}
   virtual const Char_t *GetName() const;
   const TRotMatrix    *GetMatrix() const;
   TRotMatrix          *GetMatrix();

   Int_t               GetVisibility() const {return GetNode()?GetNode()->GetVisibility():0;}
   virtual Double_t    GetX(Int_t indx=0) const {return fX[indx];}
   virtual const Double_t *GetXYZ() const {return fX;}
   virtual Double_t    GetY() const {return fX[1];}
   virtual Double_t    GetZ() const {return fX[2];}
   virtual UInt_t      GetId() const {return fId;}
   Bool_t              IsMatrixOwner() const;
   Bool_t              SetMatrixOwner(Bool_t ownerShips=kTRUE);
   Bool_t              IsFolder() const {return GetNode()?kTRUE:kFALSE;}
   virtual Bool_t      Is3D() const {return kTRUE;}
   virtual Double_t   *Local2Master(const Double_t *local, Double_t *master,Int_t nPoints=1) const;
   virtual Float_t    *Local2Master(const Float_t *local, Float_t *master,Int_t nPoints=1) const;
   virtual TVolumePosition &Mult(const TVolumePosition &position);
   virtual void        Paint(Option_t *option="");
   virtual void        Print(Option_t *option="") const;
   virtual void        UpdatePosition(Option_t *option="");
   virtual TVolumePosition *Reset(TVolume *node=0,Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0);
   virtual void        SavePrimitive(ostream &out, Option_t *option = "");
   virtual void        SetLineAttributes(); // *MENU*
   virtual void        SetMatrix(TRotMatrix *matrix=0);
   virtual void        SetNode(TVolume *node){ fNode = node;}
   virtual void        SetPosition( Double_t x=0, Double_t y=0, Double_t z=0) {fX[0]=x; fX[1]=y; fX[2]=z;}
   virtual void        SetVisibility(Int_t vis=1); // *MENU*
   virtual void        SetX(Double_t x){ fX[0]  =  x;}
   virtual void        SetY(Double_t y){ fX[1]  =  y;}
   virtual void        SetZ(Double_t z){ fX[2]  =  z;}
   virtual void        SetXYZ(Double_t *xyz = 0);
   virtual void        SetId(UInt_t id){fId  = id;}
   TVolumePosition    &operator=(const TVolumePosition &rhs);
   ClassDef(TVolumePosition,2)  //Description of parameters to position a 3-D geometry object
};

//______________________________________________________________________________
inline TDataSet *TVolumePosition::DefineSet(){ return GetNode(); }
//______________________________________________________________________________
inline void TVolumePosition::DeleteOwnMatrix()
{
   if (IsMatrixOwner()) {
      TRotMatrix *erasing = fMatrix;
      fMatrix = 0;
      delete erasing;
   }
}
//______________________________________________________________________________
inline TRotMatrix *TVolumePosition::GetMatrix()
{   return fMatrix;                           }
//______________________________________________________________________________
inline const TRotMatrix *TVolumePosition::GetMatrix() const 
{   return fMatrix;                                }
//______________________________________________________________________________
inline Bool_t TVolumePosition::SetMatrixOwner(Bool_t ownerShips) 
{
   Bool_t currentOwner = IsMatrixOwner();
   SetBit(kIsOwn,ownerShips);
   return currentOwner;
}
//______________________________________________________________________________
inline Bool_t TVolumePosition::IsMatrixOwner() const
{  
  // Check whether this object owns the TRotMatrix (to be deleted for example)
  // Note: This method is to be caleed from dtor. 
  //       It is dangerous to make it virtual
   return TestBit(kIsOwn);
}
//______________________________________________________________________________
inline  TVolumePosition    &TVolumePosition::operator=(const TVolumePosition &rhs) {
   if (this != &rhs) {
      for (int i = 0; i < 3; i++) fX[i] = rhs.fX[i];
      fMatrix = rhs.fMatrix;
      fNode   = rhs.fNode;
      fId     = rhs.fId;
   }
   return *this;
}
//______________________________________________________________________________
ostream& operator<<(ostream& s,const TVolumePosition &target);
#endif