1 #ifndef _TGRAPH_ALIGNED_H 2 #define _TGRAPH_ALIGNED_H 22 #define TGRAPH_ALIGNED_ALIGNMENT 32 23 typedef Double_t * aligned_double_v __attribute__((aligned (TGRAPH_ALIGNED_ALIGNMENT)));
36 TGraphAligned(Int_t n,
const Double_t * x,
const Double_t * y);
43 double * getMoments(
int i,
double origin,
double * moments = 0)
const;
45 void dBize(
double mindB=-200);
58 void shift(
int nsamples,
bool zero =
true);
60 void getMeanAndRMS(Double_t * mean, Double_t * rms, Int_t istart = 0, Int_t iend = -1)
const;
61 Double_t getSumV2(Int_t istart = 0, Int_t iend = -1)
const;
63 Double_t peakVal(Int_t * location = 0, Int_t istart= 0, Int_t iend = -1,
bool abs =
false)
const;
64 Double_t pk2pk(Int_t nthMax = 0, Int_t nthMin = 0,Int_t * location_max = 0, Int_t * location_min = 0, Int_t istart= 0, Int_t iend = -1)
const;
67 TH1 *
valueHist(
int nbins = 100,
const double * weights =0, TH1 * out = 0 )
const;
69 void setPlottingLimits(
double mult = 1.1,
bool sym =
true,
double dt_from_peak =-1);
71 aligned_double_v GetX()
const {
return fX; }
72 aligned_double_v GetY()
const {
return fY; }
74 void setBelow(
double val,
bool abso=
true,
double to=0);
81 virtual Double_t **AllocateAlignedArrays(Int_t Narrays, Int_t arraySize);
82 inline Double_t **Allocate(Int_t newsize) {
return AllocateAlignedArrays(2, newsize); }
83 virtual Bool_t CtorAllocate (
void);
86 virtual void CopyAndRelease(Double_t ** newarrays, Int_t ibegin, Int_t iend, Int_t obegin);
TH1 * valueHist(int nbins=100, const double *weights=0, TH1 *out=0) const