#ifndef ROOT_TArrayD #define ROOT_TArrayD //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TArrayD // // // // Array of doubles (64 bits per element). // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TArray //*KEEP,TArray,T=C++. #include "TArray.h" //*KEND. #endif class TArrayD : public TArray { public: Double_t *fArray; //Array of fN doubles TArrayD(); TArrayD(Int_t n); TArrayD(Int_t n, Double_t *array); TArrayD(const TArrayD &array); TArrayD &operator=(const TArrayD &rhs); virtual ~TArrayD(); void Adopt(Int_t n, Double_t *array); void AddAt(Double_t c, Int_t i); Double_t At(Int_t i); void Copy(TArrayD &array) {array.Set(fN); for (Int_t i=0;i<fN;i++) array.fArray[i] = fArray[i];} Double_t *GetArray() const { return fArray; } Stat_t GetSum() const {Stat_t sum=0; for (Int_t i=0;i<fN;i++) sum+=fArray[i]; return sum;} void Reset() {for (Int_t i=0;i<fN;i++) fArray[i] = 0;} void Set(Int_t n); void Set(Int_t n, Double_t *array); Double_t &operator[](Int_t i); ClassDef(TArrayD,1) //Array of doubles }; inline Double_t TArrayD::At(Int_t i) { if (!BoundsOk("TArrayD::At", i)) i = 0; return fArray[i]; } inline Double_t &TArrayD::operator[](Int_t i) { if (!BoundsOk("TArrayD::operator[]", i)) i = 0; return fArray[i]; } #endif