-#ifndef ALIFMDSDigitizer_H
-#define ALIFMDSDigitizer_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-/* $Id$ */
-
-//_________________________________________________________________________
-// Task Class for making SDigits in FMD
-//
-//-- Author: Alla Maevskaia(INR)
-
-
-// --- ROOT system ---
-#include "TTask.h"
-#include "TString.h"
-#include "AliFMD.h"
-#include "AliDetector.h"
-
-// --- Standard library ---
-
-// --- AliRoot header files ---
-
-class AliFMDSDigitizer: public TTask {
-
+#ifndef ALIFMDSDIGITIZER_H
+#define ALIFMDSDIGITIZER_H
+/* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights
+ * reserved.
+ *
+ * See cxx source for full Copyright notice
+ */
+// Classses to make Hits into digits and summable digits.
+//
+// Digits consists of
+// - Detector #
+// - Ring ID
+// - Sector #
+// - Strip #
+// - ADC count in this channel
+//
+// Summable digits consists of
+// - Detector #
+// - Ring ID
+// - Sector #
+// - Strip #
+// - Total energy deposited in the strip
+// - ADC count in this channel
+//
+/** @file AliFMDSDigitizer.h
+ @author Christian Holm Christensen <cholm@nbi.dk>
+ @date Mon Mar 27 12:38:26 2006
+ @brief FMD Digitizers declaration
+ @ingroup FMD_sim
+*/
+#ifndef ALIFMDBASEDIGITIZER_H
+# include <AliFMDBaseDigitizer.h>
+#endif
+
+//====================================================================
+/** @class AliFMDSDigitizer AliFMDDigitizer.h <FMD/AliFMDDigitizer.h>
+ @brief Concrete implementation to make summable digits.
+ See also class documentation of AliFMDBaseDigitizer
+ @ingroup FMD_sim
+ */
+class AliFMDSDigitizer : public AliFMDBaseDigitizer
+{
public:
- AliFMDSDigitizer() ; // ctor
- AliFMDSDigitizer(char* HeaderFile,char *SdigitsFile = 0) ;
-
- virtual ~AliFMDSDigitizer() ; // dtor
- // Int_t Digitize(Float_t Energy);
-
- char *GetSDigitsFile()const{return (char*) fSDigitsFile.Data();}
- virtual void Exec(Option_t *option);
- void SetNEvents(Int_t Nevents){fNevents = Nevents;}
- Stat_t GetNEvents(){return fNevents;}
- void SetSDigitsFile(char * file ) ;
- virtual void Print(Option_t* option) const ;
- TClonesArray *SDigits() const {return fSDigits;}
- TClonesArray *Hits() const {return fHits;}
- // Granularity
- virtual void SetRingsSi1(Int_t ringsSi1);
- virtual void SetSectorsSi1(Int_t sectorsSi1);
- virtual void SetRingsSi2(Int_t ringsSi2);
- virtual void SetSectorsSi2(Int_t sectorsSi2);
-
-
-private:
- Int_t fNevents ; // Number of events to digitize
- TString fSDigitsFile ; //output file
- TClonesArray *fSDigits ; // List of summable digits
- TClonesArray *fHits ; // List of summable digits
- TString fHeadersFile ; //input file
- protected:
- //Granularity
- Int_t fRingsSi1; // Number of rings
- Int_t fSectorsSi1; // Number of sectors
- Int_t fRingsSi2; // Number of rings
- Int_t fSectorsSi2; // Number of sectors
+ /** CTOR */
+ AliFMDSDigitizer();
+ /** CTOR
+ @param headerFile Where to write headings
+ @param sdigFile Where to write digits. */
+ AliFMDSDigitizer(const Char_t* headerFile, const Char_t* sdigFile="");
+ /** DTOR */
+ virtual ~AliFMDSDigitizer();
+ /** Do it all
+ @param option Not used */
+ virtual void Exec(Option_t* option=0);
+protected:
+ /** Add a digit to output.
+ @param fmd Pointer to detector object
+ @param detector Detector #
+ @param ring Ring ID
+ @param sector Sector number
+ @param strip Strip number
+ @param edep Energy deposited (not used)
+ @param count1 ADC count 1
+ @param count2 ADC count 2 (-1 if not used)
+ @param count3 ADC count 3 (-1 if not used) */
+ virtual void AddDigit(AliFMD* fmd,
+ UShort_t detector,
+ Char_t ring,
+ UShort_t sector,
+ UShort_t strip,
+ Float_t edep,
+ UShort_t count1,
+ Short_t count2,
+ Short_t count3) const;
+ ClassDef(AliFMDSDigitizer,0) // Make Summable Digits from Hits
+};
- ClassDef(AliFMDSDigitizer,1) // description
-};
+#endif
+//____________________________________________________________________
+//
+// Local Variables:
+// mode: C++
+// End:
+//
+//
+// EOF
+//
-#endif // AliFMDSDigitizer_H