3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 /* History of cvs commits:
10 * Revision 1.72 2007/02/13 10:52:08 policheh
11 * Raw2SDigits() implemented
13 * Revision 1.71 2007/02/05 10:43:25 hristov
14 * Changes for correct initialization of Geant4 (Mihaela)
16 * Revision 1.70 2007/01/17 17:28:56 kharlov
17 * Extract ALTRO sample generation to a separate class AliPHOSPulseGenerator
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
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)
25 * Revision 1.67 2006/04/07 08:42:00 hristov
26 * Follow AliAlignObj framework and remove AliPHOSAlignData (Yu.Kharlov)
28 * Revision 1.66 2006/03/24 21:39:33 schutz
29 * Modification needed to include PHOS in the global trigger framework
31 * Revision 1.65 2006/03/07 18:56:25 kharlov
32 * CDB is passed via environment variable
34 * Revision 1.64 2005/11/03 13:09:19 hristov
35 * Removing meaningless const declarations (linuxicc)
37 * Revision 1.63 2005/07/26 13:32:39 kharlov
38 * Restoring raw data fit from version of 29-Aug-2004
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
43 * Revision 1.61 2005/05/28 12:10:07 schutz
44 * Copy constructor is corrected (by T.P.)
49 //_________________________________________________________________________
50 // Base Class for PHOS
52 //*-- Author: Laurent Aphecetche & Yves Schutz (SUBATECH)
55 // --- ROOT system ---
62 // --- AliRoot header files ---
63 #include "AliDetector.h"
65 #include "AliPHOSGeometry.h"
66 #include "AliPHOSTrigger.h"
68 class AliPHOS : public AliDetector {
73 AliPHOS(const char* name, const char* title="") ;
75 virtual void AddHit(Int_t, Int_t*, Float_t *) {
76 // do not use this definition but the one below
77 AliFatal(Form("do not use")) ;
80 virtual void AddHit( Int_t shunt, Int_t primary, Int_t track,
81 Int_t id, Float_t *hits ) = 0 ;
82 virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
83 virtual void CreateMaterials() ;
84 virtual void Digits2Raw();
85 virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
86 virtual void FinishRun() {;}
87 virtual AliPHOSGeometry * GetGeometry() const
88 {return AliPHOSGeometry::GetInstance(GetTitle(),"") ; }
90 virtual void Hits2SDigits();
91 virtual Int_t IsVersion(void) const = 0 ;
93 virtual AliTriggerDetector* CreateTriggerDetector() const
94 { return new AliPHOSTrigger(); }
96 virtual AliLoader* MakeLoader(const char* topfoldername);
97 virtual void SetTreeAddress();
98 virtual const TString Version() const {return TString(" ") ; }
101 virtual void CheckQA() ;
104 AliPHOS(AliPHOS & phos);
105 AliPHOS & operator = (const AliPHOS & /*rvalue*/);
107 ClassDef(AliPHOS,6) // Photon Spectrometer Detector (base class)