ROOT logo
// -*- mode: c++ -*-
#ifndef ALICALOFITRESULTS_H
#define ALICALOFITRESULTS_H
/**************************************************************************
 * This file is property of and copyright by                              *
 * the Relativistic Heavy Ion Group (RHIG), Yale University, US, 2009     *
 *                                                                        *
 * Primary Author: Per Thomas Hille <p.t.hille@fys.uio.no>                *
 *                                                                        *
 * Contributors are mentioned in the code where appropriate.              *
 * Please report bugs to p.t.hille@fys.uio.no                             *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

#include "Rtypes.h"
#include "AliCaloFitSubarray.h"
#include "AliCaloConstants.h"

class  AliCaloFitResults
{
 public:
  //  enum kReturnCode {kFitPar=1, kDummy=-1, kCrude=-9, kNoFit=-99, kInvalid=-9999};// possible return values
  // kFitPar: method fit or parametrization was used
  // kDummy: just a filler parameter, if e.g. chi2 not available
  // kCrude: maximum was used
  // kNoFit: maximum was used, exception handling for fit invoked
  // kInvalid: could not even look for maximum

  
  explicit AliCaloFitResults( const Int_t maxSig, 
			      const Float_t ped, 
			      const Short_t fitStatus, 
			      const Float_t  amp, 
			      const double time,
			      const Int_t maxTimebin,
			      //   const Float_t chi, 
			      const Float_t chi,  
			      const Int_t ndf, 
			      const Int_t minSig, 
			      const AliCaloFitSubarray fitSubarray  ); 
  

  explicit AliCaloFitResults( const Int_t maxSig, 
			      const Float_t ped, 
			      const Short_t fitStatus, 
			      const Float_t  amp, 
			      const double time,
			      const Int_t maxTimebin,
			      //   const Float_t chi, 
			      const Float_t chi, 
			      const Int_t ndf, 
			      const Int_t minSig = Ret::kDummy);  
  //			      const Int_t minSig = CaloConstants::ReturnCodes::kDummy); 


  // shorter interface when no fit is done

  
  explicit AliCaloFitResults( const Int_t maxSig, 
			      const Float_t ped, 
			      const Short_t fitStatus, 
			      const Float_t  amp, 
			      const Int_t maxTimebin); 
  

  // minimum interface
  explicit AliCaloFitResults( const Int_t maxSig, const Int_t minSig );

  AliCaloFitResults();
  virtual  ~AliCaloFitResults();
  UShort_t  GetMaxSig() const  { return fMaxSig;};
  Float_t   GetPed() const { return fPed;};
  UShort_t  GetMinSig() const { return fMinSig;};
  Int_t  GetStatus() const  { return fStatus;};
  Float_t   GetAmp() const {  return fAmpSig; };
  Float_t   GetTof() const {  return fTime; }; 
  double   GetTime() const {  return fTime; };
  Int_t   GetMaxTimebin() const {  return fMaxTimebin; };
  Float_t   GetChi2() const { return fChi2Sig;};
  UShort_t  GetNdf() const { return fNdfSig; };
  AliCaloFitSubarray  GetFitSubarray() const { return fFitSubarray; };
  void SetTime(Float_t time ) { fTime = time; };
  void SetAmp(Float_t amp ) { fAmpSig = amp; };

 private:
  // AliCaloFitResults();
  UShort_t   fMaxSig;      //Maximum sample value ( 0 - 1023 )
  Float_t    fPed;      //Pedestal 
  Int_t   fStatus;      //Sucess or failure of fitting pocedure
  Float_t    fAmpSig;   //Amplitude in entities of ADC counts
  double    fTime;     //peak/max time of signal in entities of sample intervals 
  Int_t    fMaxTimebin; //timebin with maximum ADC value
  Float_t    fChi2Sig;  //Chi Square of fit 
  UShort_t   fNdfSig;      //Number of degrees of freedom of fit
  UShort_t   fMinSig;      //Pedestal 
  AliCaloFitSubarray fFitSubarray; // info on time-bin array used for the fitting
};

#endif
 AliCaloFitResults.h:1
 AliCaloFitResults.h:2
 AliCaloFitResults.h:3
 AliCaloFitResults.h:4
 AliCaloFitResults.h:5
 AliCaloFitResults.h:6
 AliCaloFitResults.h:7
 AliCaloFitResults.h:8
 AliCaloFitResults.h:9
 AliCaloFitResults.h:10
 AliCaloFitResults.h:11
 AliCaloFitResults.h:12
 AliCaloFitResults.h:13
 AliCaloFitResults.h:14
 AliCaloFitResults.h:15
 AliCaloFitResults.h:16
 AliCaloFitResults.h:17
 AliCaloFitResults.h:18
 AliCaloFitResults.h:19
 AliCaloFitResults.h:20
 AliCaloFitResults.h:21
 AliCaloFitResults.h:22
 AliCaloFitResults.h:23
 AliCaloFitResults.h:24
 AliCaloFitResults.h:25
 AliCaloFitResults.h:26
 AliCaloFitResults.h:27
 AliCaloFitResults.h:28
 AliCaloFitResults.h:29
 AliCaloFitResults.h:30
 AliCaloFitResults.h:31
 AliCaloFitResults.h:32
 AliCaloFitResults.h:33
 AliCaloFitResults.h:34
 AliCaloFitResults.h:35
 AliCaloFitResults.h:36
 AliCaloFitResults.h:37
 AliCaloFitResults.h:38
 AliCaloFitResults.h:39
 AliCaloFitResults.h:40
 AliCaloFitResults.h:41
 AliCaloFitResults.h:42
 AliCaloFitResults.h:43
 AliCaloFitResults.h:44
 AliCaloFitResults.h:45
 AliCaloFitResults.h:46
 AliCaloFitResults.h:47
 AliCaloFitResults.h:48
 AliCaloFitResults.h:49
 AliCaloFitResults.h:50
 AliCaloFitResults.h:51
 AliCaloFitResults.h:52
 AliCaloFitResults.h:53
 AliCaloFitResults.h:54
 AliCaloFitResults.h:55
 AliCaloFitResults.h:56
 AliCaloFitResults.h:57
 AliCaloFitResults.h:58
 AliCaloFitResults.h:59
 AliCaloFitResults.h:60
 AliCaloFitResults.h:61
 AliCaloFitResults.h:62
 AliCaloFitResults.h:63
 AliCaloFitResults.h:64
 AliCaloFitResults.h:65
 AliCaloFitResults.h:66
 AliCaloFitResults.h:67
 AliCaloFitResults.h:68
 AliCaloFitResults.h:69
 AliCaloFitResults.h:70
 AliCaloFitResults.h:71
 AliCaloFitResults.h:72
 AliCaloFitResults.h:73
 AliCaloFitResults.h:74
 AliCaloFitResults.h:75
 AliCaloFitResults.h:76
 AliCaloFitResults.h:77
 AliCaloFitResults.h:78
 AliCaloFitResults.h:79
 AliCaloFitResults.h:80
 AliCaloFitResults.h:81
 AliCaloFitResults.h:82
 AliCaloFitResults.h:83
 AliCaloFitResults.h:84
 AliCaloFitResults.h:85
 AliCaloFitResults.h:86
 AliCaloFitResults.h:87
 AliCaloFitResults.h:88
 AliCaloFitResults.h:89
 AliCaloFitResults.h:90
 AliCaloFitResults.h:91
 AliCaloFitResults.h:92
 AliCaloFitResults.h:93
 AliCaloFitResults.h:94
 AliCaloFitResults.h:95
 AliCaloFitResults.h:96
 AliCaloFitResults.h:97
 AliCaloFitResults.h:98
 AliCaloFitResults.h:99
 AliCaloFitResults.h:100
 AliCaloFitResults.h:101
 AliCaloFitResults.h:102
 AliCaloFitResults.h:103
 AliCaloFitResults.h:104
 AliCaloFitResults.h:105
 AliCaloFitResults.h:106