////////////////////////////////////////////////////////////////////////
//
-// Pure Virtual Base Class for Detector specific Merging/Digitization
-//
+// Base Class for Detector specific Merging/Digitization
+// Detector specific digitization classes derive from this
// Author: Jiri Chudoba (CERN)
//
////////////////////////////////////////////////////////////////////////
-#include "TNamed.h"
+#include "TTask.h"
+
class AliRunDigitizer;
-class AliDigitizer: public TNamed {
+class AliDigitizer: public TTask {
public:
- AliDigitizer(); // default ctor - dummy
- AliDigitizer(AliRunDigitizer *manager); // ctor to be used
+// ctor with name and title
+ AliDigitizer(const Text_t* name="AliDigitizer",
+ const Text_t* title="AliDigitizer");
+// ctor to be used with name and title
+ AliDigitizer(AliRunDigitizer *manager,
+ const Text_t* name="AliDigitizer",
+ const Text_t* title="AliDigitizer");
+// Copy ctor needed because there is a pointer
+ AliDigitizer(const AliDigitizer &dig);
+ AliDigitizer& operator=(const AliDigitizer &dig)
+ {dig.Copy(*this);return *this;}
+
virtual ~AliDigitizer();
- virtual Bool_t Init() = 0;
- virtual void Digitize() = 0;
- Int_t GetDebug() {return fDebug;} // get debug level
- void SetDebug(Int_t level){fDebug = level;} // set debug level
-
-private:
+ virtual Bool_t Init() {return kTRUE;}
+ void SetRegionOfInterest(Bool_t flag) {fRegionOfInterest = flag;};
+// virtual void Digitize() = 0;
- Int_t fDebug; // debug level
+protected:
+ Int_t GetNInputStreams() const;
+ void Copy(TObject &dig) const;
- ClassDef(AliDigitizer,1)
+ AliRunDigitizer *fManager; //! Pointer to the Digitizer manager
+ Bool_t fRegionOfInterest; // Flag for digitization only in region of interest
+
+ ClassDef(AliDigitizer,2) // Base class for detector digitizers
};
#endif // ALIDIGITIZER_H
+