////////////////////////////////////////////////////////////////////////
//
-// Pure Virtual Base Class for Detector specific Merging/Digitization
+// Base Class for Detector specific Merging/Digitization
//
// 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=(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;}
+// virtual void Digitize() = 0;
- Int_t fDebug; // debug level
+protected:
+ Int_t GetNInputStreams() const;
+ void Copy(AliDigitizer &dig) const;
- ClassDef(AliDigitizer,1)
+ AliRunDigitizer *fManager; // Pointer to the Digitizer manager
+
+ ClassDef(AliDigitizer,1) // Base class for detector digitizers
};
#endif // ALIDIGITIZER_H
+