New code for EMCAL (B.Nilsen)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCAL.h
1 #ifndef ALIEMCAL_H
2 #define ALIEMCAL_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 /* $Id$ */
7
8 //_________________________________________________________________________
9 //  Base Class for EMCAL     
10 //                  
11 //*-- Author: Yves Schutz (SUBATECH)
12
13 #include <assert.h>
14
15 // --- ROOT system ---
16 class TString ;
17 class TClonesArray ;
18
19 // --- AliRoot header files ---
20 #include <stdlib.h>
21 #include "AliDetector.h"
22 #include "AliEMCALGeometry.h"
23 class AliEMCALGeometry ; 
24
25 class AliEMCAL : public AliDetector {
26
27  public:
28
29   AliEMCAL(); 
30   AliEMCAL(const char* name, const char* title="");
31   AliEMCAL(const AliEMCAL & emcal) {
32     // cpy ctor: no implementation yet
33     // requested by the Coding Convention
34     abort() ; 
35   }
36   virtual ~AliEMCAL() ; 
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, 
42                          Int_t id, Float_t *hits ) = 0 ;
43
44
45   virtual void   CreateMaterials() ;                     
46   virtual AliEMCALGeometry * GetGeometry()  = 0 ;   
47   Int_t   IsVersion(void) const { return -1 ; } 
48   virtual void  SetTreeAddress() ;               
49   virtual TString Version() {return TString(" ") ; }  
50   AliEMCAL & operator = (const AliEMCAL & rvalue)  {
51     // assignement operator requested by coding convention
52     // but not needed
53     abort() ;
54     return *this ; 
55   }
56  
57 protected:
58
59   AliEMCALGeometry * fGeom ;                       // Geometry definition
60
61   ClassDef(AliEMCAL,1) // Electromagnetic calorimeter (base class)
62
63 } ;
64
65 #endif // ALIEMCAL_H