New RAW I/O. I rolled my own, because I wasn't happy with the old
[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 // Uses general ALTRO class - which is wrong
15 // Should make it right!
16 //
17 #ifndef ROOT_TTask
18 # include <TTask.h>
19 #endif
20
21 //____________________________________________________________________
22 class AliFMD;
23 class AliAltroBuffer;
24 class TArrayI;
25 class TClonesArray;
26
27 //____________________________________________________________________
28 class AliFMDRawWriter : public TTask 
29 {
30 public:
31   AliFMDRawWriter(AliFMD* fmd);
32   virtual ~AliFMDRawWriter() {}
33
34   virtual void Exec(Option_t* option="");
35 protected:
36   virtual void WriteDigits(TClonesArray* digits);
37   virtual void WriteChannel(AliAltroBuffer* altro, 
38                             UShort_t strip, UShort_t sector, Char_t ring, 
39                             const TArrayI& data);
40   AliFMD*       fFMD;              //! Pointer to detector description 
41   UShort_t      fSampleRate;       // The sample rate (0 -> inferred from data)
42   UShort_t      fChannelsPerAltro; // Number of pre-amp. channels/adc channel 
43   UShort_t      fThreshold;        // Threshold for zero-suppression
44   
45   ClassDef(AliFMDRawWriter, 0) // Write FMD raw data to a DDL file
46 };
47
48 #endif
49 //____________________________________________________________________
50 //
51 // Local Variables:
52 //   mode: C++
53 // End:
54 //
55 // EOF
56 //