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