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