]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/STEER/AliDigitizer.h
avoiding narrowing conversions in initialization lists
[u/mrichter/AliRoot.git] / STEER / STEER / AliDigitizer.h
1 #ifndef ALIDIGITIZER_H
2 #define ALIDIGITIZER_H
3 /* Copyright(c) 1998-2001, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$*/
7
8 ////////////////////////////////////////////////////////////////////////
9 //
10 //  Base Class for Detector specific Merging/Digitization   
11 //  Detector specific digitization classes derive from this
12 //  Author: Jiri Chudoba (CERN)
13 //
14 ////////////////////////////////////////////////////////////////////////
15
16 #include "TNamed.h"
17 #include "AliDigitizationInput.h"
18
19 class AliDigitizer: public TNamed {
20
21  public:
22 // ctor with name and title
23     AliDigitizer(const Text_t* name="AliDigitizer",
24                 const Text_t* title="AliDigitizer");
25 // ctor to be used with name and title
26     AliDigitizer(AliDigitizationInput *manager,
27                  const Text_t* name="AliDigitizer",
28                  const Text_t* title="AliDigitizer");
29 // Copy ctor needed because there is a pointer
30     AliDigitizer(const AliDigitizer &dig);
31     AliDigitizer& operator=(const AliDigitizer &dig)
32       {dig.Copy(*this);return *this;}
33       
34     virtual ~AliDigitizer();
35     virtual Bool_t Init() {return kTRUE;}
36     virtual void Digitize(Option_t* option) = 0;
37     Bool_t GetRegionOfInterest() const {return fDigInput ? fDigInput->GetRegionOfInterest() : kFALSE;}
38
39 protected:
40     Int_t GetNInputStreams() const;
41     void Copy(TObject &dig) const;
42
43     AliDigitizationInput *fDigInput;   //! Pointer to the Digitizer input
44     
45     ClassDef(AliDigitizer,3) // Base class for detector digitizers
46 };
47
48 #endif // ALIDIGITIZER_H
49