]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - EMCAL/AliEMCAL.h
coverity #24434 #24433, add check on nullness of primary particles pointer, default...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCAL.h
... / ...
CommitLineData
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$ */
7/* History of cvs commits:
8 *
9 * $Log$
10 * Revision 1.43 2007/03/10 22:19:01 pavlinov
11 * move one varibels from AliEMCALv2 to AliEMCAL
12 *
13 * Revision 1.42 2007/02/24 20:42:35 pavlinov
14 * fixed error of Geant3 parameters initialisation
15 *
16 * Revision 1.41 2007/02/05 10:43:25 hristov
17 * Changes for correct initialization of Geant4 (Mihaela)
18 *
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 *
22 *
23 */
24//_________________________________________________________________________
25// Base Class for EMCAL
26// holds all geant information of
27// materials, etc.
28//
29//*-- Author: Yves Schutz (SUBATECH)
30
31// --- ROOT system ---
32
33class TString ;
34class TFolder ;
35class TRandom ;
36class TGraph;
37class TF1;
38
39// --- AliRoot header files ---
40class AliRawReader;
41#include "AliDetector.h"
42#include "AliEMCALGeometry.h"
43#include "AliEMCALTrigger.h"
44class AliEMCALRawUtils;
45#include "AliReconstructor.h"
46class AliEMCALTriggerData;
47
48class AliEMCAL : public AliDetector {
49
50 public:
51
52 AliEMCAL();
53 AliEMCAL(const char* name, const char* title="", const Bool_t checkGeoAndRun = kTRUE);
54
55 virtual ~AliEMCAL() ;
56 virtual void AddHit(Int_t, Int_t*, Float_t *) {
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 )") ;
58 }
59 virtual AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const;
60 virtual void CreateMaterials() ;
61 virtual void Init() ;
62 virtual void Digits2Raw();
63
64 virtual void FinishRun() {}
65 virtual AliEMCALGeometry * GetGeometry() const ;
66 // {return AliEMCALGeometry::GetInstance(GetTitle(),"") ; }
67 virtual void Hits2SDigits();
68 virtual Int_t IsVersion(void) const = 0 ;
69
70 virtual AliTriggerDetector* CreateTriggerDetector() const
71 { return new AliEMCALTrigger(); }
72
73 //
74 virtual AliLoader* MakeLoader(const char* topfoldername);
75 virtual const TString Version() const {return TString(" ") ; }
76
77 virtual void SetCheckRunNumberAndGeoVersion(Bool_t check) { fCheckRunNumberAndGeoVersion = check ; }
78
79 Bool_t Raw2SDigits(AliRawReader* rawReader);
80
81protected:
82 void InitConstants(); //initializes some params
83
84 Int_t fBirkC0; // constants for Birk's Law implementation
85 Double_t fBirkC1; // constants for Birk's Law implementation
86 Double_t fBirkC2; // constants for Birk's Law implementation
87
88 AliEMCALGeometry* fGeometry; //!
89 Bool_t fCheckRunNumberAndGeoVersion; // Check if run number corresponds to the requested geometry and V1 is used
90
91 //For embedding
92 static AliEMCALRawUtils * fgRawUtils; // raw utilities class, for embedding
93 AliEMCALTriggerData * fTriggerData; // Trigger parameters data container
94
95private:
96 AliEMCAL(const AliEMCAL& emcal);
97 AliEMCAL & operator = (const AliEMCAL & /*rvalue*/);
98
99 ClassDef(AliEMCAL,12) // Electromagnetic calorimeter (base class)
100
101} ;
102
103#endif // ALIEMCAL_H