/usr/include/root/TFoamVect.h is in libroot-math-foam-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 | // @(#)root/foam:$Id$
// Author: S. Jadach <mailto:Stanislaw.jadach@ifj.edu.pl>, P.Sawicki <mailto:Pawel.Sawicki@ifj.edu.pl>
#ifndef ROOT_TFoamVect
#define ROOT_TFoamVect
////////////////////////////////////////////////////////////////////////////////
// //
// Auxiliary class TFoamVect of n-dimensional vector, with dynamic allocation //
// used for the cartesian geometry of the TFoam cells //
// //
////////////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TObject
#include "TObject.h"
#endif
///////////////////////////////////////////////////////////////////////////////
class TFoamVect : public TObject {
// constructor
private:
Int_t fDim; // Dimension
Double_t *fCoords; // [fDim] Coordinates
TFoamVect *fNext; // pointer for tree construction
TFoamVect *fPrev; // pointer for tree construction
public:
TFoamVect(); // Constructor
TFoamVect(Int_t); // USER Constructor
TFoamVect(const TFoamVect &); // Copy constructor
virtual ~TFoamVect(); // Destructor
//////////////////////////////////////////////////////////////////////////////
// Overloading operators //
//////////////////////////////////////////////////////////////////////////////
TFoamVect& operator =(const TFoamVect&); // = operator; Substitution
Double_t &operator[](Int_t); // [] provides POINTER to coordinate
TFoamVect& operator =(Double_t []); // LOAD IN entire double vector
TFoamVect& operator =(Double_t); // LOAD IN double number
////////////////////////// OTHER METHODS //////////////////////////////////
TFoamVect& operator+=(const TFoamVect&); // +=; add vector u+=v (FAST)
TFoamVect& operator-=(const TFoamVect&); // +=; add vector u+=v (FAST)
TFoamVect& operator*=(const Double_t&); // *=; mult. by scalar v*=x (FAST)
TFoamVect operator+( const TFoamVect&); // +; u=v+s, NEVER USE IT, SLOW!!!
TFoamVect operator-( const TFoamVect&); // -; u=v-s, NEVER USE IT, SLOW!!!
void Print(Option_t *option) const; // Prints vector
void PrintList(); // Prints vector and the following linked list
Int_t GetDim() const { return fDim; } // Returns dimension
Double_t GetCoord(Int_t i) const {return fCoords[i];}; // Returns coordinate
ClassDef(TFoamVect,1) //n-dimensional vector with dynamical allocation
};
#endif
|