Initialization of some data members. Copy constructor and assignment operators made...
[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
29     @brief Class to write ALTRO formated raw data from an array of
30     AliFMDDigit objects.
31     @code 
32     AliFMDRawWriter* fmdWriter = new AliFMDRawWriter(0);
33     TClonesArray*    array     = fmd->DigitArray();
34     fmdWriter->WriteDigits(array);
35     @endcode 
36     @ingroup FMD_sim
37 */
38 class AliFMDRawWriter : public TTask 
39 {
40 public:
41   /** Constructor 
42       @param fmd Pointer to detector object. */
43   AliFMDRawWriter(AliFMD* fmd);
44   /** Destructor */
45   virtual ~AliFMDRawWriter() {}
46
47   /** Write the output from AliFMD object. 
48       @param option Not used */
49   virtual void Exec(Option_t* option="");
50   /** Write an array of AliFMDDigit objects as raw ALTRO data. 
51       @param digits Array of AliFMDDigit objects to convert to raw
52       ALTRO data. */
53   virtual void WriteDigits(TClonesArray* digits);
54 protected:
55   /* Write a single channel.  This member function is obsolete. */
56   // virtual void WriteChannel(AliAltroBuffer* altro, UShort_t strip, 
57   //                           UShort_t sector, Char_t ring, const TArrayI& d);
58   AliFMD*       fFMD;              //! Pointer to detector description 
59   UShort_t      fSampleRate;       // The sample rate (0 -> inferred from data)
60   UShort_t      fChannelsPerAltro; // Number of pre-amp. channels/adc channel 
61   UShort_t      fThreshold;        // Threshold for zero-suppression
62   
63   ClassDef(AliFMDRawWriter, 0) // Write FMD raw data to a DDL file
64 };
65
66 #endif
67 //____________________________________________________________________
68 //
69 // Local Variables:
70 //   mode: C++
71 // End:
72 //
73 // EOF
74 //