]>
Commit | Line | Data |
---|---|---|
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 | |
b2a60966 | 7 | //_________________________________________________________________________ |
8 | // Base Class for PHOS | |
9 | // | |
10 | //*-- Author: Laurent Aphecetche & Yves Schutz (SUBATECH) | |
fe4da5cc | 11 | |
fdeead01 | 12 | |
d15a28e7 | 13 | // --- ROOT system --- |
0e4b7936 | 14 | class TString ; |
7b326aac | 15 | class TTask ; |
fa7cce36 | 16 | class TFolder ; |
e957fea8 | 17 | class TTree ; |
e9a5efdf | 18 | class TRandom ; |
fe4da5cc | 19 | |
d15a28e7 | 20 | // --- AliRoot header files --- |
0e4b7936 | 21 | #include "AliDetector.h" |
8367ce9a | 22 | #include "AliPHOSGeometry.h" |
7b326aac | 23 | class AliPHOSQAChecker ; |
fe4da5cc | 24 | |
25 | class AliPHOS : public AliDetector { | |
26 | ||
e9a5efdf | 27 | public: |
fe4da5cc | 28 | |
6b87d0dd | 29 | AliPHOS() ; |
7b326aac | 30 | AliPHOS(const char* name, const char* title="") ; |
780fda6d | 31 | AliPHOS(AliPHOS & phos) : AliDetector(phos) { |
32 | Copy(*this) ; | |
839ffcb3 | 33 | } |
7b326aac | 34 | virtual ~AliPHOS() ; |
0a6d52e3 | 35 | virtual void AddHit(Int_t, Int_t*, Float_t *) { |
0e4b7936 | 36 | // do not use this definition but the one below |
f1611b7c | 37 | Fatal("AddHit(Int_t, Int_t*, Float_t *)", "do not use") ; |
38 | ||
0a6d52e3 | 39 | } |
a532e9d8 | 40 | virtual void AddHit( Int_t shunt, Int_t primary, Int_t track, |
41 | Int_t id, Float_t *hits ) = 0 ; | |
e9a5efdf | 42 | virtual void Copy(AliPHOS & phos) ; |
487d23e3 | 43 | virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const; |
8367ce9a | 44 | virtual void CreateMaterials() ; |
e9a5efdf | 45 | virtual void Digits2Raw(); |
a532e9d8 | 46 | virtual void FinishRun() {WriteQA();} |
8367ce9a | 47 | virtual AliPHOSGeometry * GetGeometry() const |
48 | {return AliPHOSGeometry::GetInstance(GetTitle(),"") ; } | |
487d23e3 | 49 | virtual void Hits2SDigits(); |
fa7cce36 | 50 | virtual Int_t IsVersion(void) const = 0 ; |
8367ce9a | 51 | virtual AliLoader* MakeLoader(const char* topfoldername); |
7b326aac | 52 | AliPHOSQAChecker * QAChecker() {return fQATask;} |
7b7c1533 | 53 | virtual void SetTreeAddress(); |
54 | virtual TTree * TreeQA() const {return fTreeQA; } | |
a532e9d8 | 55 | virtual const TString Version() const {return TString(" ") ; } |
4410223b | 56 | virtual void WriteQA() ; |
8c140292 | 57 | AliPHOS & operator = (const AliPHOS & /*rvalue*/) { |
e957fea8 | 58 | Fatal("operator =", "not implemented") ; return *this ; } |
88cb7938 | 59 | |
b73f246d | 60 | protected: |
7b326aac | 61 | |
fa7cce36 | 62 | AliPHOSQAChecker * fQATask ; //! PHOS checkers container |
7b7c1533 | 63 | TTree * fTreeQA ; // the QA tree that contains the alarms |
e9a5efdf | 64 | TRandom * fRan ; //! random number generator |
65 | ||
b2a60966 | 66 | ClassDef(AliPHOS,2) // Photon Spectrometer Detector (base class) |
fe4da5cc | 67 | |
d15a28e7 | 68 | } ; |
fe4da5cc | 69 | |
d15a28e7 | 70 | #endif // ALIPHOS_H |