]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliCaloRawAnalyzerPeakFinder.h
code cleanup: renaming functions; adding prototype code for later development; no...
[u/mrichter/AliRoot.git] / EMCAL / AliCaloRawAnalyzerPeakFinder.h
index 5c239abce41b54f037ef17aa65fe56358f4e93fa..a46a9964958740911b8164803e22bb47f91eefe3 100644 (file)
@@ -1,7 +1,6 @@
+// -*- mode: c++ -*-
 #ifndef ALICALORAWANALYZERPEAKFINDER_H
 #define ALICALORAWANALYZERPEAKFINDER_H
-
-
 /**************************************************************************
  * This file is property of and copyright by                              *
  * the Relativistic Heavy Ion Group (RHIG), Yale University, US, 2009     *
@@ -9,7 +8,7 @@
  * Primary Author: Per Thomas Hille  <perthomas.hille@yale.edu>           *
  *                                                                        *
  * Contributors are mentioned in the code where appropriate.              *
- * Please report bugs to p.t.hille@fys.uio.no                             *
+ * Please report bugs to perthomas.hille@yale.edu                         *
  *                                                                        *
  * Permission to use, copy, modify and distribute this software and its   *
  * documentation strictly for non-commercial purposes is hereby granted   *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-
 // The Peak-Finder algorithm
 // The amplitude is extracted  as a
 // weighted sum of the samples using the 
 // best possible weights.
 
-
 #include "AliCaloRawAnalyzer.h"
-
-#define MAXSTART 3
-#define SAMPLERANGE 15
-#define SHIF 0.5
+#include "AliCaloConstants.h"
 
 class AliCaloBunchInfo;
-
+class AliCaloPeakFinderVectors;
 
 class  AliCaloRawAnalyzerPeakFinder : public AliCaloRawAnalyzer
 {
+  friend class AliCaloRawAnalyzerFactory; // shutting up the rule checker
  public:
-  AliCaloRawAnalyzerPeakFinder();
   virtual ~AliCaloRawAnalyzerPeakFinder();
-  virtual AliCaloFitResults Evaluate( const vector<AliCaloBunchInfo> &bunchvector, const UInt_t altrocfg1,  const UInt_t altrocfg2 );
+  virtual AliCaloFitResults Evaluate( const std::vector<AliCaloBunchInfo> &bunchvector, 
+                                     const UInt_t altrocfg1,  const UInt_t altrocfg2 );
 
  private:
+  AliCaloRawAnalyzerPeakFinder();
   AliCaloRawAnalyzerPeakFinder( const AliCaloRawAnalyzerPeakFinder   & );
   AliCaloRawAnalyzerPeakFinder   & operator = ( const  AliCaloRawAnalyzerPeakFinder  & );
-
-  void     LoadVectors();
-  Double_t  ScanCoarse(const Double_t *const array, const int length ) const ; // Find a rough estimate of peak position and t0
-
-  //  void PolTof( const double rectof ) const;
-  
-  double *fPFAmpVectorsCoarse[MAXSTART][SAMPLERANGE]; // Vectors for Amplitude extraction, first iteration 
-  double *fPFTofVectorsCoarse[MAXSTART][SAMPLERANGE]; // Vectors for TOF extraction, first iteration
-
-  double *fPFAmpVectors[MAXSTART][SAMPLERANGE]; // Vectors for Amplitude extraction, second iteration 
-  double *fPFTofVectors[MAXSTART][SAMPLERANGE]; // Vectors for TOF extraction, second iteration
-
-  //  double fTof; 
-  //  double fAmp;
-
-  double fAmpA[3]; // The  amplitude of the signal (eveluate 3 times using 3 differtnt phase shifts of the input samples )
-  // double fAmp2;
-  // double fAmp3;
-
+  void     LoadVectorsOCDB();
+  void     CopyVectors(const AliCaloPeakFinderVectors *const pfvectors );
+  void     ResetVectors();
+  void     WriteRootFile() const;
+  void PrintVectors();
+  Double_t ScanCoarse(const Double_t *const array, const int length ) const ; // Find a rough estimate of peak position and t0
+  Double_t fPFAmpVectorsCoarse[PF::MAXSTART][PF::SAMPLERANGE][100];  // Vectors for Amplitude extraction, first iteration
+  Double_t fPFTofVectorsCoarse[PF::MAXSTART][PF::SAMPLERANGE][100];  // Vectors for TOF extraction, first iteration
+  Double_t fPFAmpVectors[PF::MAXSTART][PF::SAMPLERANGE][100];        // Vectors for Amplitude extraction, second iteration
+  Double_t fPFTofVectors[PF::MAXSTART][PF::SAMPLERANGE][100];        // Vectors for TOF extraction, second iteration
+  AliCaloPeakFinderVectors  *fPeakFinderVectors; // Collection of Peak-Fincer vectors
+  bool fRunOnAlien; // Wether or not we are running on the GRID
+  bool fIsInitialized; // init flag
   ClassDef( AliCaloRawAnalyzerPeakFinder, 1 )
-
 };
 
+
 #endif