change definition of TRU fitter, remove unneeded class dependencies
[u/mrichter/AliRoot.git] / EMCAL / AliEMCAL.h
CommitLineData
2012850d 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$ */
2576b1b8 7/* History of cvs commits:
8 *
9 * $Log$
ee299369 10 * Revision 1.43 2007/03/10 22:19:01 pavlinov
11 * move one varibels from AliEMCALv2 to AliEMCAL
12 *
23ef18ac 13 * Revision 1.42 2007/02/24 20:42:35 pavlinov
14 * fixed error of Geant3 parameters initialisation
15 *
91e5f344 16 * Revision 1.41 2007/02/05 10:43:25 hristov
17 * Changes for correct initialization of Geant4 (Mihaela)
18 *
7235aed2 19 * Revision 1.40 2006/12/05 17:19:26 gustavo
20 * Updated AliEMCAL::Digits2Raw, reads first provisional RCU mapping files to make Raw data with new AliCaloAltroMapping and AliCaloRawStream
21 *
2576b1b8 22 *
23 */
2012850d 24//_________________________________________________________________________
25// Base Class for EMCAL
14ce0a6e 26// holds all geant information of
27// materials, etc.
2012850d 28//
23ef18ac 29//*-- Author: Yves Schutz (SUBATECH)
2012850d 30
2012850d 31// --- ROOT system ---
05a92d59 32
2012850d 33class TString ;
05a92d59 34class TFolder ;
f51151a0 35class TRandom ;
2d5d9e60 36class TGraph;
37class TF1;
2012850d 38
39// --- AliRoot header files ---
2d5d9e60 40class AliRawReader;
2012850d 41#include "AliDetector.h"
8367ce9a 42#include "AliEMCALGeometry.h"
0631a867 43#include "AliEMCALTrigger.h"
6cc75819 44class AliEMCALRawUtils;
45#include "AliReconstructor.h"
46class AliEMCALTriggerData;
b4215a15 47
2012850d 48class AliEMCAL : public AliDetector {
49
50 public:
b4215a15 51
b13bbe81 52 AliEMCAL();
28135539 53 AliEMCAL(const char* name, const char* title="", const Bool_t checkGeoAndRun = kTRUE);
0a4cb131 54
2012850d 55 virtual ~AliEMCAL() ;
5dee926e 56 virtual void AddHit(Int_t, Int_t*, Float_t *) {
d64c959b 57 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 )") ;
b13bbe81 58 }
f21fc003 59 virtual AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const;
f51151a0 60 virtual void CreateMaterials() ;
dde0a601 61 virtual void Init() ;
f51151a0 62 virtual void Digits2Raw();
b4215a15 63
fdebddeb 64 virtual void FinishRun() {}
050f9171 65 virtual AliEMCALGeometry * GetGeometry() const ;
66 // {return AliEMCALGeometry::GetInstance(GetTitle(),"") ; }
8367ce9a 67 virtual void Hits2SDigits();
fdebddeb 68 virtual Int_t IsVersion(void) const = 0 ;
b4215a15 69
70 virtual AliTriggerDetector* CreateTriggerDetector() const
71 { return new AliEMCALTrigger(); }
0a4cb131 72
ee299369 73 //
8367ce9a 74 virtual AliLoader* MakeLoader(const char* topfoldername);
fdebddeb 75 virtual const TString Version() const {return TString(" ") ; }
1963b290 76
c2ef87c2 77 virtual void SetCheckRunNumberAndGeoVersion(Bool_t check) { fCheckRunNumberAndGeoVersion = check ; }
78
6cc75819 79 Bool_t Raw2SDigits(AliRawReader* rawReader);
c2ef87c2 80
2012850d 81protected:
7235aed2 82 void InitConstants(); //initializes some params
0a4cb131 83
c2ef87c2 84 Int_t fBirkC0; // constants for Birk's Law implementation
f51151a0 85 Double_t fBirkC1; // constants for Birk's Law implementation
86 Double_t fBirkC2; // constants for Birk's Law implementation
1963b290 87
c2ef87c2 88 AliEMCALGeometry* fGeometry; //!
89 Bool_t fCheckRunNumberAndGeoVersion; // Check if run number corresponds to the requested geometry and V1 is used
050f9171 90
6cc75819 91 //For embedding
92 static AliEMCALRawUtils * fgRawUtils; // raw utilities class, for embedding
93 AliEMCALTriggerData * fTriggerData; // Trigger parameters data container
94
2576b1b8 95private:
e939a978 96 AliEMCAL(const AliEMCAL& emcal);
97 AliEMCAL & operator = (const AliEMCAL & /*rvalue*/);
98
6cc75819 99 ClassDef(AliEMCAL,12) // Electromagnetic calorimeter (base class)
56088960 100
ee299369 101} ;
2012850d 102
103#endif // ALIEMCAL_H