1 ////////////////////////////////////////////////
3 // Manager classe for TOF //
6 // Associations between TOF related objects //
8 // -- Authors: Pierella, Seganti, Vicinanza //
9 // (Bologna and Salerno University) //
11 ////////////////////////////////////////////////
15 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
16 * See cxx source for full Copyright notice */
28 #include "AliDetector.h"
31 class AliTOF : public AliDetector {
34 AliTOF(const char *name, const char *title);
35 // virtual ~AliTOF() {}
37 // getters for AliTOF object status
38 Int_t GetNStripA() const {return fNStripA;}
39 Int_t GetNStripB() const {return fNStripB;}
40 Int_t GetNStripC() const {return fNStripC;}
41 Int_t GetNpadX() const {return fNpadX;}
42 Int_t GetNpadZ() const {return fNpadZ;}
43 Int_t GetPadXStr() const {return fPadXStr;}
45 virtual void AddHit(Int_t track, Int_t* vol, Float_t* hits);
46 virtual void AddDigit(Int_t* tracks, Int_t* vol, Float_t* digits);
47 virtual void CreateGeometry();
48 virtual void CreateMaterials();
50 virtual void MakeBranch(Option_t* option, const char *file=0);
51 virtual void Makehits(Bool_t hits=1);
52 virtual void FinishEvent();
53 virtual Int_t IsVersion() const =0;
54 Int_t DistancetoPrimitive(Int_t px, Int_t py) const;
55 virtual void StepManager()=0;
56 virtual void TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC,
57 Float_t zlenB, Float_t zlenA, Float_t ztof0){}
58 virtual void DrawModule() const;
59 void CreateTOFFolders();
60 virtual void SDigits2Digits();
61 virtual void Hits2Digits();
62 virtual void Hits2SDigits(){cout << "AliTOF::Hits2SDigits() dummy function called" << endl;}
63 virtual void Digits2Reco() {cout << "AliTOF::Digits2Reco() dummy function called" << endl;}
64 void Digits2Raw (Int_t evNumber=0);
65 void Raw2Digits (Int_t evNumber=0);
68 TFolder* fFGeom ; // Folder that holds the Geometry definition
69 TTask* fDTask ; // TOF Digitizer container
70 TTask* fReTask; // TOF Reconstructioner container
71 TClonesArray* fSDigits; // List of summable digits
72 Int_t fNTof; // number of TOF sectors
73 Float_t fRmax; // upper bound for radial extension of TOF detector
74 Float_t fRmin; // lower bound for radial extension of TOF detector
75 Float_t fZlenA; // length along z-axis of type A module
76 Float_t fZlenB; // length along z-axis of type B module
77 Float_t fZlenC; // length along z-axis of type C module
78 Float_t fZtof; // total semi-length of TOF detector
79 Float_t fStripLn; // Strip Length
80 Float_t fSpace; // Space Beetween the strip and the bottom of the plate
81 Float_t fDeadBndZ; // Dead Boundaries of a Strip along Z direction (width)
82 Float_t fDeadBndX; // Dead Boundaries of a Strip along X direction (length)
83 Float_t fXpad; // X size of a pad
84 Float_t fZpad; // Z size of a pad
85 Float_t fGapA; // Gap beetween tilted strip in A-type plate
86 Float_t fGapB; // Gap beetween tilted strip in B-type plate
87 Float_t fOverSpc; // Space available for sensitive layers in radial direction
88 Int_t fNpadX; // Number of pads in a strip along the X direction
89 Int_t fNpadZ; // Number of pads in a strip along the Z direction
90 Int_t fPadXStr; // Number of pads per strip
91 Int_t fNStripA; // number of strips in A type module
92 Int_t fNStripB; // number of strips in B type module
93 Int_t fNStripC; // number of strips in C type module
94 Float_t fTimeRes; // time resolution of the TOF
95 Float_t fChrgRes; // charge resolution of ADC
96 Int_t fPadXSector; // number of pads per sector
97 Int_t fNRoc; // number of ROC
98 Int_t fNFec; // number of FEC
99 Int_t fNTdc; // number of TDC
100 Int_t fNPadXRoc; // number of pads for each ROC
101 Int_t fIdSens; // the unique numeric identifier for sensitive volume FPAD
104 Bool_t CheckOverlap(Int_t* vol, Float_t* digit, Int_t Track);
106 ClassDef(AliTOF,2) // Time Of Flight base class
109 #endif /* ALITOF_H */