ROOT logo
// $Id: SRange.cxx 2530 2011-09-27 19:32:01Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

//__________________________________________________________________________
// SRange
//
//

#include "SRange.h"

#include <TMath.h>

ClassImp(SRange);

//==============================================================================

SRange::SRange()
{
  Reset();
}

void SRange::Reset()
{
  mMin = mMax = mSumX = mSumX2 = 0;
  mN = 0;
}

void SRange::AddSample(Double_t x)
{
  if (mN == 0) {
    mMin = mMax = x;
  } else {
    if (x < mMin) mMin = x;
    if (x > mMax) mMax = x;
  }
  mSumX  += x;
  mSumX2 += x*x;
  ++mN;
}

Double_t SRange::GetAverage() const
{
  if (mN > 0)
    return mSumX / mN;
  else
    return 0;
}

Double_t SRange::GetSigma() const
{
  if (mN > 0)
    return TMath::Sqrt((mSumX2 - mSumX*mSumX/mN)/mN);
  else
    return 0;
}
 SRange.cxx:1
 SRange.cxx:2
 SRange.cxx:3
 SRange.cxx:4
 SRange.cxx:5
 SRange.cxx:6
 SRange.cxx:7
 SRange.cxx:8
 SRange.cxx:9
 SRange.cxx:10
 SRange.cxx:11
 SRange.cxx:12
 SRange.cxx:13
 SRange.cxx:14
 SRange.cxx:15
 SRange.cxx:16
 SRange.cxx:17
 SRange.cxx:18
 SRange.cxx:19
 SRange.cxx:20
 SRange.cxx:21
 SRange.cxx:22
 SRange.cxx:23
 SRange.cxx:24
 SRange.cxx:25
 SRange.cxx:26
 SRange.cxx:27
 SRange.cxx:28
 SRange.cxx:29
 SRange.cxx:30
 SRange.cxx:31
 SRange.cxx:32
 SRange.cxx:33
 SRange.cxx:34
 SRange.cxx:35
 SRange.cxx:36
 SRange.cxx:37
 SRange.cxx:38
 SRange.cxx:39
 SRange.cxx:40
 SRange.cxx:41
 SRange.cxx:42
 SRange.cxx:43
 SRange.cxx:44
 SRange.cxx:45
 SRange.cxx:46
 SRange.cxx:47
 SRange.cxx:48
 SRange.cxx:49
 SRange.cxx:50
 SRange.cxx:51
 SRange.cxx:52
 SRange.cxx:53
 SRange.cxx:54
 SRange.cxx:55
 SRange.cxx:56
 SRange.cxx:57
 SRange.cxx:58