]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCAL.h
Adding a reminder for coders
[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"
6cc75819 45class AliEMCALRawUtils;
46#include "AliReconstructor.h"
47class AliEMCALTriggerData;
b4215a15 48
2012850d 49class AliEMCAL : public AliDetector {
50
51 public:
b4215a15 52
b13bbe81 53 AliEMCAL();
2012850d 54 AliEMCAL(const char* name, const char* title="");
0a4cb131 55
2012850d 56 virtual ~AliEMCAL() ;
5dee926e 57 virtual void AddHit(Int_t, Int_t*, Float_t *) {
d64c959b 58 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 59 }
8367ce9a 60 virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
f51151a0 61 virtual void CreateMaterials() ;
dde0a601 62 virtual void Init() ;
f51151a0 63 virtual void Digits2Raw();
b4215a15 64
fdebddeb 65 virtual void FinishRun() {}
050f9171 66 virtual AliEMCALGeometry * GetGeometry() const ;
67 // {return AliEMCALGeometry::GetInstance(GetTitle(),"") ; }
8367ce9a 68 virtual void Hits2SDigits();
fdebddeb 69 virtual Int_t IsVersion(void) const = 0 ;
b4215a15 70
71 virtual AliTriggerDetector* CreateTriggerDetector() const
72 { return new AliEMCALTrigger(); }
0a4cb131 73
ee299369 74 //
8367ce9a 75 virtual AliLoader* MakeLoader(const char* topfoldername);
fdebddeb 76 virtual const TString Version() const {return TString(" ") ; }
1963b290 77
c2ef87c2 78 virtual void SetCheckRunNumberAndGeoVersion(Bool_t check) { fCheckRunNumberAndGeoVersion = check ; }
79
6cc75819 80 Bool_t Raw2SDigits(AliRawReader* rawReader);
c2ef87c2 81
2012850d 82protected:
7235aed2 83 void InitConstants(); //initializes some params
0a4cb131 84
c2ef87c2 85 Int_t fBirkC0; // constants for Birk's Law implementation
f51151a0 86 Double_t fBirkC1; // constants for Birk's Law implementation
87 Double_t fBirkC2; // constants for Birk's Law implementation
1963b290 88
c2ef87c2 89 AliEMCALGeometry* fGeometry; //!
90 Bool_t fCheckRunNumberAndGeoVersion; // Check if run number corresponds to the requested geometry and V1 is used
050f9171 91
6cc75819 92 //For embedding
93 static AliEMCALRawUtils * fgRawUtils; // raw utilities class, for embedding
94 AliEMCALTriggerData * fTriggerData; // Trigger parameters data container
95
2576b1b8 96private:
e939a978 97 AliEMCAL(const AliEMCAL& emcal);
98 AliEMCAL & operator = (const AliEMCAL & /*rvalue*/);
99
6cc75819 100 ClassDef(AliEMCAL,12) // Electromagnetic calorimeter (base class)
56088960 101
ee299369 102} ;
2012850d 103
104#endif // ALIEMCAL_H