]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCAL.h
Changed return values from PropagateBack, to prevent aborting the full tracking if...
[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() ;
59 virtual void Digits2Raw();
b4215a15 60
fdebddeb 61 virtual void FinishRun() {}
8367ce9a 62 virtual AliEMCALGeometry * GetGeometry() const
b4215a15 63 {return AliEMCALGeometry::GetInstance(GetTitle(),"") ; }
8367ce9a 64 virtual void Hits2SDigits();
fdebddeb 65 virtual Int_t IsVersion(void) const = 0 ;
b4215a15 66
67 virtual AliTriggerDetector* CreateTriggerDetector() const
68 { return new AliEMCALTrigger(); }
0a4cb131 69
ee299369 70 //
8367ce9a 71 virtual AliLoader* MakeLoader(const char* topfoldername);
fdebddeb 72 virtual const TString Version() const {return TString(" ") ; }
1963b290 73
2012850d 74protected:
7235aed2 75 void InitConstants(); //initializes some params
91e5f344 76 void DefineMediumParameters(); // define tracking medium parameters
0a4cb131 77
f51151a0 78 Int_t fBirkC0; // constants for Birk's Law implementation
79 Double_t fBirkC1; // constants for Birk's Law implementation
80 Double_t fBirkC2; // constants for Birk's Law implementation
1963b290 81
23ef18ac 82 AliEMCALGeometry* fGeometry; //!
83
2576b1b8 84private:
e939a978 85 AliEMCAL(const AliEMCAL& emcal);
86 AliEMCAL & operator = (const AliEMCAL & /*rvalue*/);
87
ee299369 88 ClassDef(AliEMCAL,10) // Electromagnetic calorimeter (base class)
56088960 89
ee299369 90} ;
2012850d 91
92#endif // ALIEMCAL_H