]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDRawWriter.h
Bug fix
[u/mrichter/AliRoot.git] / FMD / AliFMDRawWriter.h
index 35e25538b01ede4838a4b8b74d8002d1df96996a..e2c29476fb7650df058cc518c8e0599c5e22b267 100644 (file)
@@ -27,6 +27,7 @@
 class AliFMD;
 class AliAltroBuffer;
 class TArrayI;
+class TArrayF;
 class TClonesArray;
 
 //____________________________________________________________________
@@ -55,13 +56,30 @@ public:
   /** Write an array of AliFMDDigit objects as raw ALTRO data. 
       @param digits Array of AliFMDDigit objects to convert to raw
       ALTRO data. */
-  virtual void WriteDigits(TClonesArray* digits);
+  virtual Long_t WriteDigits(TClonesArray* digits);
+  /** Do zero-suppression of channel data. 
+      @param data      Contain @a nWords of valid data.  On input, it 
+                       contains the full channel data.  On output it
+                       will contain the zero-suppresed data. 
+      @param peds      Contain @a nWords pedestals 
+      @param noise     Contain @a nWords pedestal widths 
+      @param threshold Zero suppression threshold. */
+  void ZeroSuppress(Int_t*& data, Int_t nWords, const Float_t* peds, 
+                   const Float_t* noise, UShort_t threshold) const;
 protected:
+  AliFMDRawWriter(const AliFMDRawWriter& o) 
+    : TTask(o), 
+      fFMD(o.fFMD), 
+      fSampleRate(o.fSampleRate), 
+      fChannelsPerAltro(o.fChannelsPerAltro), 
+      fThreshold(o.fThreshold)
+  {}
+  AliFMDRawWriter& operator=(const AliFMDRawWriter&) { return *this; }
   AliFMD*       fFMD;              //! Pointer to detector description 
   UShort_t      fSampleRate;       // The sample rate (0 -> inferred from data)
   UShort_t      fChannelsPerAltro; // Number of pre-amp. channels/adc channel 
   UShort_t      fThreshold;        // Threshold for zero-suppression
-  
+
   ClassDef(AliFMDRawWriter, 0) // Write FMD raw data to a DDL file
 };