61c81b3facfb42f398f836da05dda2438d3a85df
[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 <stdlib.h>
14
15 // --- ROOT system ---
16
17 class TString ;
18 class TTask ;
19 class TFolder ;
20
21 // --- AliRoot header files ---
22
23 #include "AliDetector.h"
24 //class AliDetector;
25 class AliEMCALGeometry ; 
26 //class AliEMCALQAChecker ;
27
28 class AliEMCAL : public AliDetector {
29
30  public:
31
32   AliEMCAL(); 
33   AliEMCAL(const char* name, const char* title="");
34   AliEMCAL(const AliEMCAL& emcal) : AliDetector(emcal) {
35     // cpy ctor: no implementation yet
36     // requested by the Coding Convention
37     Fatal("cpy ctor", "not implemented") ;  
38   }
39   virtual ~AliEMCAL() ; 
40   virtual void   AddHit(Int_t, Int_t*, Float_t *) {
41     // do not use this definition but the one below
42     Fatal("AddHit(Int_t, Int_t*, Float_t *", 
43           "not to be used: use AddHit( Int_t shunt, Int_t primary, Int_t track,Int_t id, Float_t *hits )") ;  
44
45   }
46   virtual void  AddHit( Int_t shunt, Int_t primary, Int_t track, 
47                          Int_t id, Float_t *hits ) = 0 ;
48   virtual void  CreateMaterials() ;   
49   virtual void  FinishRun() {WriteQA();}                  
50   virtual AliEMCALGeometry * GetGeometry() const ;   
51   virtual Int_t   IsVersion(void) const = 0 ; 
52   //AliEMCALQAChecker * QAChecker() const {return fQATask;}  
53   virtual void  SetTreeAddress() ;
54   virtual TTree * TreeQA() const {return fTreeQA; }                
55   virtual const TString Version() const {return TString(" ") ; }  
56   virtual void WriteQA() ; 
57   AliEMCAL & operator = (const AliEMCAL & rvalue)  {
58     // assignement operator requested by coding convention
59     // but not needed
60     Fatal("operator =", "not implemented") ;  
61     return *this ; 
62   }
63  
64   virtual AliLoader* MakeLoader(const char* topfoldername);
65   
66 protected:
67
68   //AliEMCALQAChecker * fQATask ; //! PHOS checkers container
69   TTree * fTreeQA ;            // the QA tree that contains the alarms
70   AliEMCALGeometry * fGeom ;   // the geometry object
71
72   ClassDef(AliEMCAL,4) // Electromagnetic calorimeter (base class)
73
74 } ;
75
76 #endif // ALIEMCAL_H