]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCPad.h
added AliFlatExternalTrackParam to HLT global library
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCPad.h
index bc52eb781f2f2c9826b4130e088be58d96014dbd..27fdb133af4f732611847f4a24514cdce3c59629 100644 (file)
@@ -1,5 +1,5 @@
 // -*- Mode: C++ -*-
-// @(#) $Id$
+// $Id$
 
 #ifndef ALIHLTTPCPAD_H
 #define ALIHLTTPCPAD_H
@@ -7,17 +7,20 @@
 //* ALICE Experiment at CERN, All rights reserved.                         *
 //* See cxx source for full Copyright notice                               *
 
-/** @file   AliHLTTPCPad.h
-    @author Matthias Richter
-    @date   
-    @brief  Container Class for TPC Pads.
-*/
+/// @file   AliHLTTPCPad.h
+/// @author Matthias Richter
+/// @date   
+/// @brief  Container Class for TPC Pads.
+///
 
 #include "AliHLTLogging.h"
 #include "AliHLTTPCClusters.h"
+#include "AliHLTTPCDigitReader.h"
 #include "TH1F.h"
 #include <vector>
 
+struct AliHLTTPCDigitData;
+
 typedef Int_t AliHLTTPCSignal_t;
 
 
@@ -296,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
@@ -331,7 +327,20 @@ public:
   /**
    * Adds cluster candidate to the fClusterCandidates.
    */
-  void AddClusterCandidate(AliHLTTPCClusters candidate);
+  void AddClusterCandidate(const AliHLTTPCClusters& candidate);
+
+  /**
+   * Adds the digits belonging to the candidate.
+   */
+  void AddCandidateDigits(const vector<AliHLTTPCDigitData>& candidateDigits);
+
+  
+  /**
+   * Returns the digit vector belonging to the candidate
+   */
+  vector<AliHLTTPCDigitData> *GetCandidateDigits(Int_t candidateIndex);
+
+  void ClearCandidateDigits(){fCandidateDigitsVector.clear();}
 
   /**
    * Prints the raw data og this pad.
@@ -416,6 +425,8 @@ public:
   /** Number of good signals sent (good signals is signals surviving ZeroSuppression) */
   Int_t fNGoodSignalsSent;
   
-  ClassDef(AliHLTTPCPad, 6)
+  vector<vector<AliHLTTPCDigitData> > fCandidateDigitsVector;
+
+  ClassDef(AliHLTTPCPad, 7)
 };
 #endif // ALIHLTTPCPAD_H