Line data Source code
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 : //_________________________________________________________________________
7 : // Base Class for EMCAL
8 : // holds all geant information of
9 : // materials, etc.
10 : //
11 : //*-- Author: Yves Schutz (SUBATECH)
12 :
13 : // --- ROOT system ---
14 :
15 : class TString ;
16 : class TFolder ;
17 : class TRandom ;
18 : class TGraph;
19 : class TF1;
20 :
21 : // --- AliRoot header files ---
22 : class AliRawReader;
23 : #include "AliDetector.h"
24 : #include "AliEMCALGeometry.h"
25 : #include "AliEMCALRawUtils.h"
26 : #include "AliReconstructor.h"
27 : class AliEMCALTriggerData;
28 :
29 : class AliEMCAL : public AliDetector {
30 :
31 : public:
32 :
33 : AliEMCAL();
34 : AliEMCAL(const char* name, const char* title="", const Bool_t checkGeoAndRun = kTRUE);
35 :
36 : virtual ~AliEMCAL() ;
37 : virtual void AddHit(Int_t, Int_t*, Float_t *) {
38 0 : Fatal("AddHit(Int_t, Int_t*, Float_t *", "not to be used: use AddHit( Int_t shunt, Int_t primary, Int_t track,Int_t id, Float_t *hits )") ;
39 0 : }
40 : virtual AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const;
41 : virtual void CreateMaterials() ;
42 : virtual void Init() ;
43 : virtual void Digits2Raw();
44 :
45 2 : virtual void FinishRun() {}
46 : virtual AliEMCALGeometry * GetGeometry() const ;
47 : // {return AliEMCALGeometry::GetInstance(GetTitle(),"") ; }
48 : virtual void Hits2SDigits();
49 : virtual Int_t IsVersion(void) const = 0 ;
50 :
51 : //
52 : virtual AliLoader* MakeLoader(const char* topfoldername);
53 0 : virtual const TString Version() const {return TString(" ") ; }
54 :
55 0 : virtual void SetCheckRunNumberAndGeoVersion(Bool_t check) { fCheckRunNumberAndGeoVersion = check ; }
56 :
57 : Bool_t Raw2SDigits(AliRawReader* rawReader);
58 :
59 : protected:
60 : void InitConstants(); //initializes some params
61 :
62 : Int_t fBirkC0; // constants for Birk's Law implementation
63 : Double_t fBirkC1; // constants for Birk's Law implementation
64 : Double_t fBirkC2; // constants for Birk's Law implementation
65 :
66 : AliEMCALGeometry* fGeometry; //!
67 : Bool_t fCheckRunNumberAndGeoVersion; // Check if run number corresponds to the requested geometry and V1 is used
68 :
69 : //For embedding
70 : static AliEMCALRawUtils * fgRawUtils; // raw utilities class, for embedding
71 : TClonesArray * fTriggerData; // Trigger parameters data container
72 :
73 : private:
74 : AliEMCAL(const AliEMCAL& emcal);
75 : AliEMCAL & operator = (const AliEMCAL & /*rvalue*/);
76 :
77 58 : ClassDef(AliEMCAL,13) // Electromagnetic calorimeter (base class)
78 :
79 : } ;
80 :
81 : #endif // ALIEMCAL_H
|