]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCPad.h
Corrected assignment operator
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCPad.h
index 9faa35e7de01f70f105a7120b41973af221cdd90..e534b178ee86b00d96fd108b14e790cd314aa02a 100644 (file)
@@ -3,9 +3,9 @@
 
 #ifndef ALIHLTTPCPAD_H
 #define ALIHLTTPCPAD_H
-/* This file is property of and copyright by the ALICE HLT Project        * 
- * ALICE Experiment at CERN, All rights reserved.                         *
- * See cxx source for full Copyright notice                               */
+//* This file is property of and copyright by the ALICE HLT Project        * 
+//* ALICE Experiment at CERN, All rights reserved.                         *
+//* See cxx source for full Copyright notice                               *
 
 /** @file   AliHLTTPCPad.h
     @author Matthias Richter
     @brief  Container Class for TPC Pads.
 */
 
-// see below for class documentation
-// or
-// refer to README to build package
-// or
-// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
-
 #include "AliHLTLogging.h"
 #include "AliHLTTPCClusters.h"
+#include "AliHLTTPCDigitReader.h"
 #include "TH1F.h"
 #include <vector>
 
+class AliHLTTPCDigitData;
+
 typedef Int_t AliHLTTPCSignal_t;
 
 
@@ -302,24 +299,17 @@ public:
    * @param timebinsLeft       Timebins to include left of the signals above threshold (to include tails)
    * @param timebinsRight      Timebins to include right of the signals above threshold (to include tails)
    * @param valueBelowAverage  The number of adc-counts below the average value. (sometimes there can be useful to also add some signals below average for your signals, especially when there is a lot of noise) It means that more of the tails of the signal is added.
+   * @param speedup            Do not the full zero suppression but terminate if it is clear wheter the channel has some signal or not.
    */
-  void ZeroSuppress(Double_t nRMS,Int_t threshold,Int_t reqMinPoint,Int_t beginTime,Int_t endTime,Int_t timebinsLeft, Int_t timebinsRight, Int_t valueBelowAverage);
+  void ZeroSuppress(Double_t nRMS,Int_t threshold,Int_t reqMinPoint,Int_t beginTime,Int_t endTime,Int_t timebinsLeft, Int_t timebinsRight, Int_t valueBelowAverage, bool speedup=false);
   
-  /**
-   * Returns the next signal which survived the ZeroSuppression 
-   * @param time            Refernence to timebin number
-   * @param signal          Refernence to signal
-   * @return                True if there are more signals
-  */
-  Bool_t GetNextGoodSignal(Int_t &time,Int_t &signal);
-
   /**
    * Bool method which returns the timein number of the first signal and number of consecutive signals, used together with GetPointer(bin) to access data 
    * @param time            Refernence to timebin number
    * @param bunchSize       Refernence to number of consecutive signals
    * @return                True if there are more signals
   */
-  Bool_t GetNextGoodSignal(Int_t &time,Int_t &bunchSize,Int_t dummy);
+  Bool_t GetNextGoodSignal(Int_t &time,Int_t &bunchSize);
 
   /**
    * Returns number of signals added
@@ -340,19 +330,22 @@ public:
   void AddClusterCandidate(AliHLTTPCClusters candidate);
 
   /**
-   * Prints the raw data og this pad.
+   * Adds the digits belonging to the candidate.
    */
-  void PrintRawData();
+  void AddCandidateDigits(vector<AliHLTTPCDigitData> candidateDigits);
 
-   /**
-   * Set the Signal Threshold
+  
+  /**
+   * Returns the digit vector belonging to the candidate
    */
-  void SetSignalThreshold(Int_t i){fSignalThreshold=i;}
+  vector<AliHLTTPCDigitData> *GetCandidateDigits(Int_t candidateIndex);
+
+  void ClearCandidateDigits(){fCandidateDigitsVector.clear();}
 
   /**
-   * Set the nSigma threshold
+   * Prints the raw data og this pad.
    */
-  void SetNSigmaThreshold(Double_t i){fNSigmaThreshold=i;}
+  void PrintRawData();
 
   /**
    * Vector of cluster candidates
@@ -362,8 +355,10 @@ public:
   /**
    * Vector of used clustercandidates, used so one do not use candidates multiple times
    */
-  vector<Int_t> fUsedClusterCandidates;                            //! transient
-
+  vector<Int_t> fUsedClusterCandidates;  //! transient
+  Bool_t fSelectedPad;                   //! transient
+  AliHLTUInt16_t fHWAddress;             //! transient
  private:
   /** copy constructor prohibited */
   AliHLTTPCPad(const AliHLTTPCPad&);
@@ -430,12 +425,8 @@ public:
   /** Number of good signals sent (good signals is signals surviving ZeroSuppression) */
   Int_t fNGoodSignalsSent;
   
-  /** Number of sigma threshold for the ZeroSuppression */
-  Double_t fNSigmaThreshold;                                       //! transient
-
-  /** Signal threshold for the ZeroSuppression */
-  Double_t fSignalThreshold;                                       //! transient
+  vector<vector<AliHLTTPCDigitData> > fCandidateDigitsVector;
 
-  ClassDef(AliHLTTPCPad, 5)
+  ClassDef(AliHLTTPCPad, 7)
 };
 #endif // ALIHLTTPCPAD_H