Logo ROOT  
Reference Guide
TArrayD.h
Go to the documentation of this file.
1// @(#)root/cont:$Id$
2// Author: Rene Brun 06/03/95
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TArrayD
13#define ROOT_TArrayD
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TArrayD //
19// //
20// Array of doubles (64 bits per element). //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TArray.h"
25
26
27class TArrayD : public TArray {
28
29public:
30 Double_t *fArray; //[fN] Array of fN doubles
31
32 TArrayD();
34 TArrayD(Int_t n, const Double_t *array);
35 TArrayD(const TArrayD &array);
36 TArrayD &operator=(const TArrayD &rhs);
37 virtual ~TArrayD();
38
39 void Adopt(Int_t n, Double_t *array);
40 void AddAt(Double_t c, Int_t i);
41 Double_t At(Int_t i) const ;
42 void Copy(TArrayD &array) const {array.Set(fN,fArray);}
43 const Double_t *GetArray() const { return fArray; }
44 Double_t *GetArray() { return fArray; }
45 Double_t GetAt(Int_t i) const { return At(i); }
46 Stat_t GetSum() const {Stat_t sum=0; for (Int_t i=0;i<fN;i++) sum+=fArray[i]; return sum;}
47 void Reset() {memset(fArray, 0, fN*sizeof(Double_t));}
48 void Reset(Double_t val) {for (Int_t i=0;i<fN;i++) fArray[i] = val;}
49 void Set(Int_t n);
50 void Set(Int_t n, const Double_t *array);
51 void SetAt(Double_t v, Int_t i) { AddAt(v, i); }
53 Double_t operator[](Int_t i) const;
54
55 ClassDef(TArrayD,1) //Array of doubles
56};
57
58
59#if defined R__TEMPLATE_OVERLOAD_BUG
60template <>
61#endif
62inline TBuffer &operator>>(TBuffer &buf, TArrayD *&obj)
63{
64 // Read TArrayD object from buffer.
65
67 return buf;
68}
69
70#if defined R__TEMPLATE_OVERLOAD_BUG
71template <>
72#endif
73inline TBuffer &operator<<(TBuffer &buf, const TArrayD *obj)
74{
75 // Write a TArrayD object into buffer
76 return buf << (const TArray*)obj;
77}
78
79inline Double_t TArrayD::At(Int_t i) const
80{
81 if (!BoundsOk("TArrayD::At", i)) return 0;
82 return fArray[i];
83}
84
86{
87 if (!BoundsOk("TArrayD::operator[]", i))
88 i = 0;
89 return fArray[i];
90}
91
93{
94 if (!BoundsOk("TArrayD::operator[]", i)) return 0;
95 return fArray[i];
96}
97
98#endif
void Class()
Definition: Class.C:29
#define c(i)
Definition: RSha256.hxx:101
int Int_t
Definition: RtypesCore.h:41
double Double_t
Definition: RtypesCore.h:55
double Stat_t
Definition: RtypesCore.h:73
#define ClassDef(name, id)
Definition: Rtypes.h:326
TBuffer & operator>>(TBuffer &buf, TArrayD *&obj)
Definition: TArrayD.h:62
TBuffer & operator<<(TBuffer &buf, const TArrayD *obj)
Definition: TArrayD.h:73
Array of doubles (64 bits per element).
Definition: TArrayD.h:27
void Reset(Double_t val)
Definition: TArrayD.h:48
void SetAt(Double_t v, Int_t i)
Definition: TArrayD.h:51
Double_t * GetArray()
Definition: TArrayD.h:44
Double_t At(Int_t i) const
Definition: TArrayD.h:79
Double_t GetAt(Int_t i) const
Definition: TArrayD.h:45
Double_t * fArray
Definition: TArrayD.h:30
void Copy(TArrayD &array) const
Definition: TArrayD.h:42
void Adopt(Int_t n, Double_t *array)
Adopt array arr into TArrayD, i.e.
Definition: TArrayD.cxx:81
void Set(Int_t n)
Set size of this array to n doubles.
Definition: TArrayD.cxx:106
virtual ~TArrayD()
Delete TArrayD object.
Definition: TArrayD.cxx:71
TArrayD & operator=(const TArrayD &rhs)
TArrayD assignment operator.
Definition: TArrayD.cxx:61
void AddAt(Double_t c, Int_t i)
Set the double c value at position i in the array.
Definition: TArrayD.cxx:94
TArrayD()
Default TArrayD ctor.
Definition: TArrayD.cxx:26
const Double_t * GetArray() const
Definition: TArrayD.h:43
Stat_t GetSum() const
Definition: TArrayD.h:46
void Reset()
Definition: TArrayD.h:47
Double_t & operator[](Int_t i)
Definition: TArrayD.h:85
Abstract array base class.
Definition: TArray.h:31
Int_t fN
Definition: TArray.h:38
Bool_t BoundsOk(const char *where, Int_t at) const
Definition: TArray.h:77
static TArray * ReadArray(TBuffer &b, const TClass *clReq)
Read TArray object from buffer.
Definition: TArray.cxx:41
Buffer base class used for serializing objects.
Definition: TBuffer.h:42
const Int_t n
Definition: legend1.C:16
static long int sum(long int i)
Definition: Factory.cxx:2276