Corrected version (Jochen Klein).
[u/mrichter/AliRoot.git] / PHOS / AliPHOS.h
CommitLineData
d15a28e7 1#ifndef ALIPHOS_H
2#define ALIPHOS_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6ad0bfa0 4 * See cxx source for full Copyright notice */
6ad0bfa0 5/* $Id$ */
3da30618 6
ffcecca6 7/* History of cvs commits:
8 *
9 * $Log$
ddd1a39c 10 * Revision 1.72 2007/02/13 10:52:08 policheh
11 * Raw2SDigits() implemented
12 *
8130d3a5 13 * Revision 1.71 2007/02/05 10:43:25 hristov
14 * Changes for correct initialization of Geant4 (Mihaela)
15 *
7235aed2 16 * Revision 1.70 2007/01/17 17:28:56 kharlov
17 * Extract ALTRO sample generation to a separate class AliPHOSPulseGenerator
18 *
431a9211 19 * Revision 1.69 2006/11/14 17:11:15 hristov
20 * 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
21 *
e939a978 22 * Revision 1.68 2006/08/11 12:36:25 cvetan
23 * Update of the PHOS code needed in order to read and reconstruct the beam test raw data (i.e. without an existing galice.root)
24 *
52c5f046 25 * Revision 1.67 2006/04/07 08:42:00 hristov
26 * Follow AliAlignObj framework and remove AliPHOSAlignData (Yu.Kharlov)
27 *
85698486 28 * Revision 1.66 2006/03/24 21:39:33 schutz
29 * Modification needed to include PHOS in the global trigger framework
30 *
b4215a15 31 * Revision 1.65 2006/03/07 18:56:25 kharlov
32 * CDB is passed via environment variable
33 *
7b60fe7e 34 * Revision 1.64 2005/11/03 13:09:19 hristov
35 * Removing meaningless const declarations (linuxicc)
36 *
eb0b1051 37 * Revision 1.63 2005/07/26 13:32:39 kharlov
38 * Restoring raw data fit from version of 29-Aug-2004
39 *
45c1ce6f 40 * Revision 1.62 2005/07/06 10:10:32 hristov
41 * Moving the functions used to initialize TF1 and TF2 to the pivate part of the class
42 *
fac5662b 43 * Revision 1.61 2005/05/28 12:10:07 schutz
44 * Copy constructor is corrected (by T.P.)
45 *
ffcecca6 46 */
47
48
b2a60966 49//_________________________________________________________________________
50// Base Class for PHOS
51//
52//*-- Author: Laurent Aphecetche & Yves Schutz (SUBATECH)
fe4da5cc 53
fdeead01 54
d15a28e7 55// --- ROOT system ---
0e4b7936 56class TString ;
7b326aac 57class TTask ;
fa7cce36 58class TFolder ;
e957fea8 59class TTree ;
e9a5efdf 60class TRandom ;
fe4da5cc 61
d15a28e7 62// --- AliRoot header files ---
0e4b7936 63#include "AliDetector.h"
351dd634 64#include "AliLog.h"
8367ce9a 65#include "AliPHOSGeometry.h"
b4215a15 66#include "AliPHOSTrigger.h"
fe4da5cc 67
68class AliPHOS : public AliDetector {
69
e9a5efdf 70public:
fe4da5cc 71
6b87d0dd 72 AliPHOS() ;
7b326aac 73 AliPHOS(const char* name, const char* title="") ;
7b326aac 74 virtual ~AliPHOS() ;
0a6d52e3 75 virtual void AddHit(Int_t, Int_t*, Float_t *) {
0e4b7936 76 // do not use this definition but the one below
351dd634 77 AliFatal(Form("do not use")) ;
f1611b7c 78
0a6d52e3 79 }
a532e9d8 80 virtual void AddHit( Int_t shunt, Int_t primary, Int_t track,
81 Int_t id, Float_t *hits ) = 0 ;
487d23e3 82 virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
8367ce9a 83 virtual void CreateMaterials() ;
e9a5efdf 84 virtual void Digits2Raw();
8130d3a5 85 virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
184569b0 86 virtual void FinishRun() {;}
8367ce9a 87 virtual AliPHOSGeometry * GetGeometry() const
88 {return AliPHOSGeometry::GetInstance(GetTitle(),"") ; }
b4215a15 89
487d23e3 90 virtual void Hits2SDigits();
fa7cce36 91 virtual Int_t IsVersion(void) const = 0 ;
7235aed2 92 virtual void Init();
b4215a15 93 virtual AliTriggerDetector* CreateTriggerDetector() const
94 { return new AliPHOSTrigger(); }
95
8367ce9a 96 virtual AliLoader* MakeLoader(const char* topfoldername);
7b7c1533 97 virtual void SetTreeAddress();
a532e9d8 98 virtual const TString Version() const {return TString(" ") ; }
88cb7938 99
ddd1a39c 100 //QA methods
101 virtual void CheckQA() ;
102
e939a978 103 private:
104 AliPHOS(AliPHOS & phos);
105 AliPHOS & operator = (const AliPHOS & /*rvalue*/);
106
52c5f046 107 ClassDef(AliPHOS,6) // Photon Spectrometer Detector (base class)
d15a28e7 108} ;
fe4da5cc 109
d15a28e7 110#endif // ALIPHOS_H