7a841a08617ba4aa20533b1ef0c5e0830fde5c1d
[u/mrichter/AliRoot.git] / FMD / AliFMDRawWriter.h
1 #ifndef ALIFMDRAWWRITER_H
2 #define ALIFMDRAWWRITER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved. 
5  *
6  * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
7  *
8  * See cxx source for full Copyright notice                               
9  */
10 /* $Id$ */
11 //____________________________________________________________________
12 // 
13 // Class to writer ADC values to a Raw File
14 //
15 #ifndef ROOT_TTask
16 # include <TTask.h>
17 #endif
18
19 //____________________________________________________________________
20 class AliFMD;
21 class AliAltroBuffer;
22 class TArrayI;
23
24
25 //____________________________________________________________________
26 class AliFMDRawWriter : public TTask 
27 {
28 public:
29   AliFMDRawWriter(AliFMD* fmd);
30
31   virtual void Exec(Option_t* option="");
32   void SetSampleRate(UShort_t sampleRate=1) { fSampleRate = sampleRate; }
33   void SetChannelsPerAltro(UShort_t size=128) { fChannelsPerAltro = size; }
34   void SetThreshold(UShort_t t=0) { fThreshold = t; }
35 protected:
36   virtual void WriteChannel(AliAltroBuffer* altro, 
37                             UShort_t strip, UShort_t sector, Char_t ring, 
38                             const TArrayI& data);
39   AliFMD*       fFMD;              //! Pointer to detector description 
40   UShort_t      fSampleRate;       // The sample rate (0 -> inferred from data)
41   UShort_t      fChannelsPerAltro; // Number of pre-amp. channels/adc channel 
42   UShort_t      fThreshold;        // Threshold for zero-suppression
43   
44   ClassDef(AliFMDRawWriter, 0) // Write FMD raw data to a DDL file
45 };
46
47 #endif
48 //____________________________________________________________________
49 //
50 // Local Variables:
51 //   mode: C++
52 // End:
53 //
54 // EOF
55 //