actor changed to create the task PHOS
[u/mrichter/AliRoot.git] / PHOS / AliPHOS.h
1 #ifndef ALIPHOS_H
2 #define ALIPHOS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id$ */
6
7 //_________________________________________________________________________
8 //  Base Class for PHOS     
9 //   PHOS consists of a PbWO4 calorimeter (EMCA) and a gazeous charged 
10 //   particles detector (CPV or PPSD).
11 //   The only provided method here is CreateMaterials, 
12 //   which defines the materials common to all PHOS versions.   
13 //                  
14 //*-- Author: Laurent Aphecetche & Yves Schutz (SUBATECH)
15
16 // --- ROOT system ---
17
18 class TString ; 
19
20 // --- AliRoot header files ---
21
22 #include "AliDetector.h" 
23 class AliPHOSGeometry ; 
24
25 class AliPHOS : public AliDetector {
26
27  public:
28
29   AliPHOS();
30   AliPHOS(const char* name, const char* title="");
31   AliPHOS(const AliPHOS & phos) {
32     // cpy ctor: no implementation yet
33     // requested by the Coding Convention
34     abort() ; 
35   }
36   virtual ~AliPHOS() {}
37   virtual void   AddHit(Int_t, Int_t*, Float_t *) {
38     // do not use this definition but the one below
39     abort() ; 
40   }
41   virtual void   AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits ) = 0 ;   
42   virtual void   CreateMaterials() ;                     
43   virtual  AliPHOSGeometry * GetGeometry() const = 0 ;
44
45   Int_t   IsVersion(void) const { return -1 ; } 
46   virtual void    SetTreeAddress();                
47   virtual TString Version() {return TString(" ") ; } 
48  
49   AliPHOS & operator = (const AliPHOS & rvalue)  {
50     // assignement operator requested by coding convention but not needed
51     abort() ;
52     return *this ; 
53   }
54  
55 protected:
56
57   ClassDef(AliPHOS,2) // Photon Spectrometer Detector (base class)
58
59 } ;
60
61 #endif // ALIPHOS_H