Fixed memory leaks for #86360: High memory consumption in 2.76TeV p+p RAW reco jobs
[u/mrichter/AliRoot.git] / PHOS / AliPHOS.h
... / ...
CommitLineData
1#ifndef ALIPHOS_H
2#define ALIPHOS_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5/* $Id$ */
6
7/* History of cvs commits:
8 *
9 * $Log$
10 * Revision 1.73 2007/08/07 14:12:03 kharlov
11 * Quality assurance added (Yves Schutz)
12 *
13 * Revision 1.72 2007/02/13 10:52:08 policheh
14 * Raw2SDigits() implemented
15 *
16 * Revision 1.71 2007/02/05 10:43:25 hristov
17 * Changes for correct initialization of Geant4 (Mihaela)
18 *
19 * Revision 1.70 2007/01/17 17:28:56 kharlov
20 * Extract ALTRO sample generation to a separate class AliPHOSPulseGenerator
21 *
22 * Revision 1.69 2006/11/14 17:11:15 hristov
23 * Removing inheritances from TAttLine, TAttMarker and AliRndm in AliModule. The copy constructor and assignment operators are moved to the private part of the class and not implemented. The corresponding changes are propagated to the detectors
24 *
25 * Revision 1.68 2006/08/11 12:36:25 cvetan
26 * Update of the PHOS code needed in order to read and reconstruct the beam test raw data (i.e. without an existing galice.root)
27 *
28 * Revision 1.67 2006/04/07 08:42:00 hristov
29 * Follow AliAlignObj framework and remove AliPHOSAlignData (Yu.Kharlov)
30 *
31 * Revision 1.66 2006/03/24 21:39:33 schutz
32 * Modification needed to include PHOS in the global trigger framework
33 *
34 * Revision 1.65 2006/03/07 18:56:25 kharlov
35 * CDB is passed via environment variable
36 *
37 * Revision 1.64 2005/11/03 13:09:19 hristov
38 * Removing meaningless const declarations (linuxicc)
39 *
40 * Revision 1.63 2005/07/26 13:32:39 kharlov
41 * Restoring raw data fit from version of 29-Aug-2004
42 *
43 * Revision 1.62 2005/07/06 10:10:32 hristov
44 * Moving the functions used to initialize TF1 and TF2 to the pivate part of the class
45 *
46 * Revision 1.61 2005/05/28 12:10:07 schutz
47 * Copy constructor is corrected (by T.P.)
48 *
49 */
50
51
52//_________________________________________________________________________
53// Base Class for PHOS
54//
55//*-- Author: Laurent Aphecetche & Yves Schutz (SUBATECH)
56
57
58// --- ROOT system ---
59class TString ;
60class TTask ;
61class TFolder ;
62class TTree ;
63class TRandom ;
64
65// --- AliRoot header files ---
66#include "AliDetector.h"
67#include "AliLog.h"
68#include "AliPHOSGeometry.h"
69#include "AliPHOSTrigger.h"
70class AliPHOSCalibData ;
71
72class AliPHOS : public AliDetector {
73
74public:
75
76 AliPHOS() ;
77 AliPHOS(const char* name, const char* title="") ;
78 virtual ~AliPHOS() ;
79 virtual void AddHit(Int_t, Int_t*, Float_t *) {
80 // do not use this definition but the one below
81 AliFatal(Form("do not use")) ;
82
83 }
84 virtual void AddHit( Int_t shunt, Int_t primary, Int_t track,
85 Int_t id, Float_t *hits ) = 0 ;
86 virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
87 virtual void CreateMaterials() ;
88 virtual void Digits2Raw();
89 virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
90 virtual void FinishRun() {;}
91 virtual AliPHOSGeometry * GetGeometry() const
92 {return AliPHOSGeometry::GetInstance(GetTitle(),"") ; }
93
94 virtual void Hits2SDigits();
95 virtual Int_t IsVersion(void) const = 0 ;
96 virtual void Init();
97 virtual AliTriggerDetector* CreateTriggerDetector() const
98 { return new AliPHOSTrigger(); }
99
100 virtual AliLoader* MakeLoader(const char* topfoldername);
101 virtual void SetTreeAddress();
102 virtual const TString Version() const {return TString(" ") ; }
103
104 private:
105 AliPHOS(AliPHOS & phos);
106 AliPHOS & operator = (const AliPHOS & /*rvalue*/);
107
108 protected:
109 AliPHOSCalibData * fgCalibData ; //! Pointer to Calibration DB
110
111 ClassDef(AliPHOS,6) // Photon Spectrometer Detector (base class)
112} ;
113
114#endif // ALIPHOS_H