]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliCaloFitResults.h
Changes needed for evaporation and fragmentation
[u/mrichter/AliRoot.git] / EMCAL / AliCaloFitResults.h
index bd141bff40903326a6e2835b8bd1449849ac6de1..990d1b4ee4f42b6a6f15d2ac80ee09a3c1e227ac 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-
 #include "Rtypes.h"
-
 #include "AliCaloFitSubarray.h"
+#include "AliCaloConstants.h"
 
-// Container class to hold results from fitting 
-// as well as other methods for
-// raw data signals extraction
 class  AliCaloFitResults
 {
  public:
-  enum kReturnCode {kDummy=-1, kCrude=-9, kNoFit=-99, kInvalid=-9999};// possible return values
+  //  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 Float_t t0,
-                             const Float_t chi, 
+                             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); 
+                             const AliCaloFitSubarray fitSubarray  ); 
+  
 
   explicit AliCaloFitResults( const Int_t maxSig, 
                              const Float_t ped, 
                              const Short_t fitStatus, 
                              const Float_t  amp, 
-                             const Float_t t0,
+                             const double time,
+                             const Int_t maxTimebin,
+                             //   const Float_t chi, 
                              const Float_t chi, 
                              const Int_t ndf, 
-                             const Int_t minSig = kDummy); 
+                             const Int_t minSig = Ret::kDummy);  
+  //                         const Int_t minSig = CaloConstants::ReturnCodes::kDummy); 
 
-  explicit AliCaloFitResults( const Int_t maxSig, const Int_t minSig );
-  //AliCaloFitResults( const Int_t maxSig, const Int_t minSig );
 
+  // 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();
-  Int_t  GetMaxSig() const  { return fMaxSig;};
+  UShort_t  GetMaxSig() const  { return fMaxSig;};
   Float_t   GetPed() const { return fPed;};
-  Int_t  GetMinSig() const { return fMinSig;};
+  UShort_t  GetMinSig() const { return fMinSig;};
   Int_t  GetStatus() const  { return fStatus;};
   Float_t   GetAmp() const {  return fAmpSig; };
-  Float_t   GetTof() const {  return fT0; }; 
-  Float_t   GetChisSquare() const { return fChi2Sig;};
-  Int_t  GetNdf() const { return fNdfSig; };
+  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();
-  Int_t   fMaxSig;   //Maximum sample value ( 0 - 1023 )
+  // AliCaloFitResults();
+  UShort_t   fMaxSig;      //Maximum sample value ( 0 - 1023 )
   Float_t    fPed;      //Pedestal 
-  Int_t   fStatus;   //Sucess or failure of fitting pocedure
+  Int_t   fStatus;      //Sucess or failure of fitting pocedure
   Float_t    fAmpSig;   //Amplitude in entities of ADC counts
-  Float_t    fT0;       //Start time of signal in entities of sample intervals 
+  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 
-  Int_t   fNdfSig;   //Number of degrees of freedom of fit
-  Int_t   fMinSig;   //Pedestal 
+  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
 };