ROOT  6.06/09
Reference Guide
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
TSpectrum Class Reference

Advanced Spectra Processing.

Advanced spectra processing

This class contains advanced spectra processing functions for:

Author:

Miroslav Morhac Institute of Physics Slovak Academy of Sciences Dubravska cesta 9, 842 28 BRATISLAVA SLOVAKIA email:fyzim.nosp@m.iro@.nosp@m.savba.nosp@m..sk, fax:+421 7 54772479

The original code in C has been repackaged as a C++ class by R.Brun.

The algorithms in this class have been published in the following references:

  1. M.Morhac et al.: Background elimination methods for multidimensional coincidence gamma-ray spectra. Nuclear Instruments and Methods in Physics Research A 401 (1997) 113-132.
  2. M.Morhac et al.: Efficient one- and two-dimensional Gold deconvolution and its application to gamma-ray spectra decomposition. Nuclear Instruments and Methods in Physics Research A 401 (1997) 385-408.
  3. M.Morhac et al.: Identification of peaks in multidimensional coincidence gamma-ray spectra. Nuclear Instruments and Methods in Research Physics A 443(2000), 108-125.

These NIM papers are also available as doc or ps files from:

Definition at line 20 of file TSpectrum.h.

Public Types

enum  {
  kBackOrder2 =0, kBackOrder4 =1, kBackOrder6 =2, kBackOrder8 =3,
  kBackIncreasingWindow =0, kBackDecreasingWindow =1, kBackSmoothing3 =3, kBackSmoothing5 =5,
  kBackSmoothing7 =7, kBackSmoothing9 =9, kBackSmoothing11 =11, kBackSmoothing13 =13,
  kBackSmoothing15 =15
}
 
- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 

Public Member Functions

 TSpectrum ()
 
 TSpectrum (Int_t maxpositions, Double_t resolution=1)
 
virtual ~TSpectrum ()
 
virtual TH1Background (const TH1 *hist, Int_t niter=20, Option_t *option="")
 
TH1GetHistogram () const
 
Int_t GetNPeaks () const
 
Double_tGetPositionX () const
 
Double_tGetPositionY () const
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual Int_t Search (const TH1 *hist, Double_t sigma=2, Option_t *option="", Double_t threshold=0.05)
 
void SetResolution (Double_t resolution=1)
 
const char * Background (Double_t *spectrum, Int_t ssize, Int_t numberIterations, Int_t direction, Int_t filterOrder, bool smoothing, Int_t smoothWindow, bool compton)
 
const char * SmoothMarkov (Double_t *source, Int_t ssize, Int_t averWindow)
 
const char * Deconvolution (Double_t *source, const Double_t *response, Int_t ssize, Int_t numberIterations, Int_t numberRepetitions, Double_t boost)
 
const char * DeconvolutionRL (Double_t *source, const Double_t *response, Int_t ssize, Int_t numberIterations, Int_t numberRepetitions, Double_t boost)
 
const char * Unfolding (Double_t *source, const Double_t **respMatrix, Int_t ssizex, Int_t ssizey, Int_t numberIterations, Int_t numberRepetitions, Double_t boost)
 
Int_t SearchHighRes (Double_t *source, Double_t *destVector, Int_t ssize, Double_t sigma, Double_t threshold, bool backgroundRemove, Int_t deconIterations, bool markov, Int_t averWindow)
 
Int_t Search1HighRes (Double_t *source, Double_t *destVector, Int_t ssize, Double_t sigma, Double_t threshold, bool backgroundRemove, Int_t deconIterations, bool markov, Int_t averWindow)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual ~TNamed ()
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void SetName (const char *name)
 Change (i.e. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Change (i.e. set) all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Change (i.e. set) the title of the TNamed. More...
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Static Public Member Functions

static void SetAverageWindow (Int_t w=3)
 
static void SetDeconIterations (Int_t n=3)
 
static Int_t StaticSearch (const TH1 *hist, Double_t sigma=2, Option_t *option="goff", Double_t threshold=0.05)
 
static TH1StaticBackground (const TH1 *hist, Int_t niter=20, Option_t *option="")
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Protected Attributes

Int_t fMaxPeaks
 
Int_t fNPeaks
 
Double_tfPosition
 
Double_tfPositionX
 
Double_tfPositionY
 
Double_t fResolution
 
TH1fHistogram
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Static Protected Attributes

static Int_t fgAverageWindow = 3
 
static Int_t fgIterations = 3
 

Private Member Functions

 TSpectrum (const TSpectrum &)
 
TSpectrumoperator= (const TSpectrum &)
 

Additional Inherited Members

- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

#include <TSpectrum.h>

+ Inheritance diagram for TSpectrum:
+ Collaboration diagram for TSpectrum:

Member Enumeration Documentation

anonymous enum
Enumerator
kBackOrder2 
kBackOrder4 
kBackOrder6 
kBackOrder8 
kBackIncreasingWindow 
kBackDecreasingWindow 
kBackSmoothing3 
kBackSmoothing5 
kBackSmoothing7 
kBackSmoothing9 
kBackSmoothing11 
kBackSmoothing13 
kBackSmoothing15 

Definition at line 38 of file TSpectrum.h.

Constructor & Destructor Documentation

TSpectrum::TSpectrum ( const TSpectrum )
private
TSpectrum::TSpectrum ( )
TSpectrum::TSpectrum ( Int_t  maxpositions,
Double_t  resolution = 1 
)

Definition at line 85 of file TSpectrum.cxx.

TSpectrum::~TSpectrum ( )
virtual

Definition at line 113 of file TSpectrum.cxx.

Member Function Documentation

TH1 * TSpectrum::Background ( const TH1 hist,
Int_t  niter = 20,
Option_t option = "" 
)
virtual

Definition at line 154 of file TSpectrum.cxx.

Referenced by StaticBackground().

const char * TSpectrum::Background ( Double_t spectrum,
Int_t  ssize,
Int_t  numberIterations,
Int_t  direction,
Int_t  filterOrder,
bool  smoothing,
Int_t  smoothWindow,
bool  compton 
)

Definition at line 416 of file TSpectrum.cxx.

const char * TSpectrum::Deconvolution ( Double_t source,
const Double_t response,
Int_t  ssize,
Int_t  numberIterations,
Int_t  numberRepetitions,
Double_t  boost 
)

Definition at line 1666 of file TSpectrum.cxx.

const char * TSpectrum::DeconvolutionRL ( Double_t source,
const Double_t response,
Int_t  ssize,
Int_t  numberIterations,
Int_t  numberRepetitions,
Double_t  boost 
)

Definition at line 2114 of file TSpectrum.cxx.

TH1* TSpectrum::GetHistogram ( ) const
inline

Definition at line 58 of file TSpectrum.h.

Int_t TSpectrum::GetNPeaks ( ) const
inline

Definition at line 59 of file TSpectrum.h.

Double_t* TSpectrum::GetPositionX ( ) const
inline

Definition at line 60 of file TSpectrum.h.

Double_t* TSpectrum::GetPositionY ( ) const
inline

Definition at line 61 of file TSpectrum.h.

TSpectrum& TSpectrum::operator= ( const TSpectrum )
private
void TSpectrum::Print ( Option_t option = "") const
virtual

Print TNamed name and title.

Reimplemented from TNamed.

Definition at line 262 of file TSpectrum.cxx.

Int_t TSpectrum::Search ( const TH1 hist,
Double_t  sigma = 2,
Option_t option = "",
Double_t  threshold = 0.05 
)
virtual

Definition at line 277 of file TSpectrum.cxx.

Referenced by StaticSearch().

Int_t TSpectrum::Search1HighRes ( Double_t source,
Double_t destVector,
Int_t  ssize,
Double_t  sigma,
Double_t  threshold,
bool  backgroundRemove,
Int_t  deconIterations,
bool  markov,
Int_t  averWindow 
)

Definition at line 3318 of file TSpectrum.cxx.

Int_t TSpectrum::SearchHighRes ( Double_t source,
Double_t destVector,
Int_t  ssize,
Double_t  sigma,
Double_t  threshold,
bool  backgroundRemove,
Int_t  deconIterations,
bool  markov,
Int_t  averWindow 
)

Definition at line 2640 of file TSpectrum.cxx.

Referenced by Search(), and Search1HighRes().

void TSpectrum::SetAverageWindow ( Int_t  w = 3)
static

Definition at line 128 of file TSpectrum.cxx.

void TSpectrum::SetDeconIterations ( Int_t  n = 3)
static

Definition at line 141 of file TSpectrum.cxx.

void TSpectrum::SetResolution ( Double_t  resolution = 1)

Definition at line 397 of file TSpectrum.cxx.

Referenced by TSpectrum().

const char * TSpectrum::SmoothMarkov ( Double_t source,
Int_t  ssize,
Int_t  averWindow 
)

Definition at line 1522 of file TSpectrum.cxx.

TH1 * TSpectrum::StaticBackground ( const TH1 hist,
Int_t  niter = 20,
Option_t option = "" 
)
static

Definition at line 3348 of file TSpectrum.cxx.

Int_t TSpectrum::StaticSearch ( const TH1 hist,
Double_t  sigma = 2,
Option_t option = "goff",
Double_t  threshold = 0.05 
)
static

Definition at line 3335 of file TSpectrum.cxx.

const char * TSpectrum::Unfolding ( Double_t source,
const Double_t **  respMatrix,
Int_t  ssizex,
Int_t  ssizey,
Int_t  numberIterations,
Int_t  numberRepetitions,
Double_t  boost 
)

Definition at line 2378 of file TSpectrum.cxx.

Member Data Documentation

Int_t TSpectrum::fgAverageWindow = 3
staticprotected

Definition at line 34 of file TSpectrum.h.

Referenced by Search(), and SetAverageWindow().

Int_t TSpectrum::fgIterations = 3
staticprotected

Definition at line 35 of file TSpectrum.h.

Referenced by Search(), and SetDeconIterations().

TH1* TSpectrum::fHistogram
protected

Definition at line 33 of file TSpectrum.h.

Referenced by GetHistogram(), TSpectrum(), and ~TSpectrum().

Int_t TSpectrum::fMaxPeaks
protected

Definition at line 27 of file TSpectrum.h.

Referenced by Search(), SearchHighRes(), and TSpectrum().

Int_t TSpectrum::fNPeaks
protected

Definition at line 28 of file TSpectrum.h.

Referenced by GetNPeaks(), Print(), SearchHighRes(), and TSpectrum().

Double_t* TSpectrum::fPosition
protected

Definition at line 29 of file TSpectrum.h.

Referenced by TSpectrum(), and ~TSpectrum().

Double_t* TSpectrum::fPositionX
protected

Definition at line 30 of file TSpectrum.h.

Referenced by GetPositionX(), Print(), Search(), SearchHighRes(), TSpectrum(), and ~TSpectrum().

Double_t* TSpectrum::fPositionY
protected

Definition at line 31 of file TSpectrum.h.

Referenced by GetPositionY(), Print(), Search(), TSpectrum(), and ~TSpectrum().

Double_t TSpectrum::fResolution
protected

Definition at line 32 of file TSpectrum.h.

Referenced by SetResolution().


The documentation for this class was generated from the following files: