Updated version.
[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 TTask ;
35class TFolder ;
f51151a0 36class TRandom ;
2d5d9e60 37class TGraph;
38class TF1;
2012850d 39
40// --- AliRoot header files ---
2d5d9e60 41class AliRawReader;
2012850d 42#include "AliDetector.h"
8367ce9a 43#include "AliEMCALGeometry.h"
0631a867 44#include "AliEMCALTrigger.h"
b4215a15 45
2012850d 46class AliEMCAL : public AliDetector {
47
48 public:
b4215a15 49
b13bbe81 50 AliEMCAL();
2012850d 51 AliEMCAL(const char* name, const char* title="");
0a4cb131 52
2012850d 53 virtual ~AliEMCAL() ;
5dee926e 54 virtual void AddHit(Int_t, Int_t*, Float_t *) {
d64c959b 55 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 56 }
8367ce9a 57 virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
f51151a0 58 virtual void CreateMaterials() ;
dde0a601 59 virtual void Init() ;
f51151a0 60 virtual void Digits2Raw();
b4215a15 61
fdebddeb 62 virtual void FinishRun() {}
8367ce9a 63 virtual AliEMCALGeometry * GetGeometry() const
b4215a15 64 {return AliEMCALGeometry::GetInstance(GetTitle(),"") ; }
8367ce9a 65 virtual void Hits2SDigits();
fdebddeb 66 virtual Int_t IsVersion(void) const = 0 ;
b4215a15 67
68 virtual AliTriggerDetector* CreateTriggerDetector() const
69 { return new AliEMCALTrigger(); }
0a4cb131 70
ee299369 71 //
8367ce9a 72 virtual AliLoader* MakeLoader(const char* topfoldername);
fdebddeb 73 virtual const TString Version() const {return TString(" ") ; }
1963b290 74
2012850d 75protected:
7235aed2 76 void InitConstants(); //initializes some params
b8a520ff 77 //void DefineMediumParameters(); // define tracking medium parameters; not needed set in galice.cuts
0a4cb131 78
f51151a0 79 Int_t fBirkC0; // constants for Birk's Law implementation
80 Double_t fBirkC1; // constants for Birk's Law implementation
81 Double_t fBirkC2; // constants for Birk's Law implementation
1963b290 82
23ef18ac 83 AliEMCALGeometry* fGeometry; //!
84
2576b1b8 85private:
e939a978 86 AliEMCAL(const AliEMCAL& emcal);
87 AliEMCAL & operator = (const AliEMCAL & /*rvalue*/);
88
ee299369 89 ClassDef(AliEMCAL,10) // Electromagnetic calorimeter (base class)
56088960 90
ee299369 91} ;
2012850d 92
93#endif // ALIEMCAL_H