]>
Commit | Line | Data |
---|---|---|
0e46b9ae | 1 | #ifndef ALITOF_H |
2 | #define ALITOF_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 | ||
b94fa26c | 8 | //////////////////////////////////////////////// |
9 | // // | |
0e46b9ae | 10 | // Manager class for TOF // |
68861244 | 11 | // Interface : // |
b94fa26c | 12 | // AliTOF // |
68861244 | 13 | // Associations between TOF related objects // |
14 | // are defined here // | |
15 | // -- Authors: Pierella, Seganti, Vicinanza // | |
16 | // (Bologna and Salerno University) // | |
17 | // // | |
b94fa26c | 18 | //////////////////////////////////////////////// |
19 | ||
0e46b9ae | 20 | #include "AliDetector.h" |
3da30618 | 21 | |
0e46b9ae | 22 | #include "AliTOFTrigger.h" |
ed70db17 | 23 | #include "AliTOFDDLRawData.h" |
3da30618 | 24 | |
68861244 | 25 | class TDirectory; |
0e46b9ae | 26 | class TFile; |
27 | class TFolder ; | |
68861244 | 28 | class TString ; |
29 | class TTask ; | |
43f77f2d | 30 | |
0e46b9ae | 31 | class AliTOFGeometry; |
517b7f8f | 32 | |
fe4da5cc | 33 | class AliTOF : public AliDetector { |
fe4da5cc | 34 | public: |
68861244 | 35 | AliTOF(); |
d599d913 | 36 | AliTOF(const char *name, const char *title, Option_t *option="noTimeZero"); |
7aeeaf38 | 37 | |
68861244 | 38 | virtual ~AliTOF() ; |
b94fa26c | 39 | // getters for AliTOF object status |
7e6dce66 | 40 | //Float_t GetTimeRes() const {return fTimeRes;}; |
41 | //Float_t GetChrgRes() const {return fChrgRes;}; | |
b94fa26c | 42 | |
517b7f8f | 43 | virtual void SetTreeAddress(); |
2cef3cb2 | 44 | virtual void AddHit(Int_t track, Int_t* vol, Float_t* hits); |
d599d913 | 45 | virtual void AddT0Hit(Int_t track, Int_t* vol, Float_t* hits); |
5d11728f | 46 | virtual void AddDigit(Int_t* /*tracks*/, Int_t* /*vol*/) {}; |
bf33f8f0 | 47 | virtual void AddDigit(Int_t* tracks, Int_t* vol, Int_t* digits); |
48 | virtual void AddSDigit(Int_t tracknum, Int_t* vol, Int_t* digits); | |
fe4da5cc | 49 | virtual void CreateGeometry(); |
d3c7bfac | 50 | virtual void CreateMaterials(){}; |
fe4da5cc | 51 | virtual void Init(); |
7e6dce66 | 52 | //virtual void MakeBranch(Option_t* option, const char *file=0); |
88cb7938 | 53 | virtual void MakeBranch(Option_t *opt=" "); |
68861244 | 54 | virtual void Makehits(Bool_t hits=1); |
2cef3cb2 | 55 | virtual void FinishEvent(); |
fe4da5cc | 56 | virtual Int_t IsVersion() const =0; |
fe4da5cc | 57 | virtual void StepManager()=0; |
5c016a7b | 58 | virtual void TOFpc(Float_t /*xtof*/, Float_t /*ytof*/, Float_t /*zlenC*/, |
d3c7bfac | 59 | Float_t /*zlenB*/, Float_t /*zlenA*/, Float_t /*ztof0*/){}; |
60 | virtual void TOFpc(Float_t /*xtof*/, Float_t /*ytof*/, Float_t /*zlenA*/, | |
61 | Float_t /*zlenB*/){}; | |
dfef1a15 | 62 | virtual void TOFpc(Float_t /*xtof*/, Float_t /*ytof*/, Float_t /*zlenA*/){}; |
ba380e33 | 63 | virtual void DrawModule() const; |
7aeeaf38 | 64 | virtual void DrawDetectorModules() const {}; |
65 | virtual void DrawDetectorStrips() const {}; | |
7e6dce66 | 66 | //virtual void DrawDetectorModulesinFrame()=0; |
67 | //virtual void DrawDetectorStripsinFrame()=0; | |
68861244 | 68 | void CreateTOFFolders(); |
389bd337 | 69 | Bool_t CheckOverlap(const Int_t * const vol, Int_t* digit, Int_t Track); |
7e6dce66 | 70 | //virtual void Hits2Digits(); |
517b7f8f | 71 | virtual void Hits2SDigits(); |
d61f73d9 | 72 | virtual void Hits2SDigits(Int_t evNumber1, Int_t evNumber2); |
c92eb8ad | 73 | virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const; |
f472295e | 74 | virtual void Digits2Reco () {}; |
75 | void Digits2Raw (); | |
76 | void Raw2Digits () {}; | |
77 | void Raw2Digits (AliRawReader* rawReader); | |
78 | Bool_t Raw2SDigits (AliRawReader* rawReader); | |
79 | virtual void ResetHits (); | |
80 | virtual void ResetDigits (); | |
d61f73d9 | 81 | virtual void ResetSDigits(); |
517b7f8f | 82 | TClonesArray *SDigits() const {return fSDigits;} |
83 | TClonesArray *ReconParticles() const {return fReconParticles;} | |
55991c8b | 84 | void RecreateSDigitsArray(); |
85 | void CreateSDigitsArray(); | |
389bd337 | 86 | virtual void SetTOFSectors(Int_t * const sectors); |
06e24a91 | 87 | virtual void GetTOFSectors(Int_t *sectors) const; |
4f283355 | 88 | virtual void SetTOFHoles(Bool_t holes) { fTOFHoles = holes; }; |
89 | virtual Bool_t GetTOFHoles() const { return fTOFHoles; }; | |
0f4a7374 | 90 | AliTOFGeometry *GetGeometry() const { return fTOFGeometry; }; |
55991c8b | 91 | |
cd82ed2f | 92 | // Trigger |
93 | virtual AliTriggerDetector* CreateTriggerDetector() const | |
94 | {return new AliTOFTrigger();} | |
95 | ||
b94fa26c | 96 | protected: |
68861244 | 97 | TFolder* fFGeom ; // Folder that holds the Geometry definition |
98 | TTask* fDTask ; // TOF Digitizer container | |
99 | TTask* fReTask; // TOF Reconstructioner container | |
7e6dce66 | 100 | TClonesArray* fSDigits; //! List of summable digits |
101 | Int_t fNSDigits; //! Number of sdigits | |
517b7f8f | 102 | TClonesArray* fReconParticles; // List of reconstructed particles |
7e6dce66 | 103 | |
104 | //Float_t fGapA; // Gap beetween tilted strip in A-type plate | |
105 | //Float_t fGapB; // Gap beetween tilted strip in B-type plate | |
106 | ||
107 | //Float_t fTimeRes; // Time resolution of the TOF | |
108 | //Float_t fChrgRes; // Charge resolution of ADC | |
109 | ||
110 | Int_t fIdSens; // The unique identifier for sensitive volume FPAD | |
111 | ||
112 | Bool_t fTZero; // Flag indicating if T0 is used | |
06e24a91 | 113 | Int_t fTOFSectors[18]; // Selecting TOF Sectors to be simulated |
4f283355 | 114 | Bool_t fTOFHoles; // Selecting geometry with and w/o holes |
0f4a7374 | 115 | AliTOFGeometry *fTOFGeometry; //The TOF Geometry parameters |
ed70db17 | 116 | |
117 | AliTOFDDLRawData fTOFRawWriter; // AliTOFDDLRawData variable | |
0f4a7374 | 118 | |
2cef3cb2 | 119 | private: |
8a190ba2 | 120 | AliTOF(const AliTOF &source); // copy constructor |
121 | AliTOF& operator=(const AliTOF &source); // ass. op. | |
2cef3cb2 | 122 | |
ed70db17 | 123 | ClassDef(AliTOF,11) // Time Of Flight base class |
fe4da5cc | 124 | }; |
125 | ||
b94fa26c | 126 | #endif /* ALITOF_H */ |