AliGenHijingEventHeader.h made available in include
[u/mrichter/AliRoot.git] / TOF / AliTOF.h
CommitLineData
b94fa26c 1////////////////////////////////////////////////
2// //
68861244 3// Manager classe for TOF //
4// Interface : //
b94fa26c 5// AliTOF //
68861244 6// Associations between TOF related objects //
7// are defined here //
8// -- Authors: Pierella, Seganti, Vicinanza //
9// (Bologna and Salerno University) //
10// //
b94fa26c 11////////////////////////////////////////////////
12
13#ifndef ALITOF_H
14#define ALITOF_H
3da30618 15/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
16 * See cxx source for full Copyright notice */
17
18/* $Id$ */
19
2ab0c725 20class TFile;
68861244 21class TDirectory;
22class TString ;
23class TTask ;
24class TFolder ;
25
26#include "TObject.h"
27#include "TTree.h"
fe4da5cc 28#include "AliDetector.h"
68861244 29#include <iostream.h>
2cef3cb2 30
fe4da5cc 31class AliTOF : public AliDetector {
fe4da5cc 32public:
68861244 33 AliTOF();
fe4da5cc 34 AliTOF(const char *name, const char *title);
68861244 35// virtual ~AliTOF() {}
36 virtual ~AliTOF() ;
b94fa26c 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;}
44
2cef3cb2 45 virtual void AddHit(Int_t track, Int_t* vol, Float_t* hits);
b94fa26c 46 virtual void AddDigit(Int_t* tracks, Int_t* vol, Float_t* digits);
fe4da5cc 47 virtual void CreateGeometry();
48 virtual void CreateMaterials();
49 virtual void Init();
68861244 50 virtual void MakeBranch(Option_t* option, const char *file=0);
51 virtual void Makehits(Bool_t hits=1);
2cef3cb2 52 virtual void FinishEvent();
fe4da5cc 53 virtual Int_t IsVersion() const =0;
68861244 54 Int_t DistancetoPrimitive(Int_t px, Int_t py) const;
fe4da5cc 55 virtual void StepManager()=0;
b94fa26c 56 virtual void TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC,
57 Float_t zlenB, Float_t zlenA, Float_t ztof0){}
68861244 58 virtual void DrawModule() const;
59 void CreateTOFFolders();
2ab0c725 60 virtual void SDigits2Digits();
68861244 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;}
2cef3cb2 64 void Digits2Raw (Int_t evNumber=0);
65 void Raw2Digits (Int_t evNumber=0);
b94fa26c 66
67protected:
68861244 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
b94fa26c 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
b94fa26c 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
b94fa26c 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
b94fa26c 94 Float_t fTimeRes; // time resolution of the TOF
95 Float_t fChrgRes; // charge resolution of ADC
b94fa26c 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
68861244 101 Int_t fIdSens; // the unique numeric identifier for sensitive volume FPAD
102
2cef3cb2 103private:
68861244 104 Bool_t CheckOverlap(Int_t* vol, Float_t* digit, Int_t Track);
2cef3cb2 105
68861244 106 ClassDef(AliTOF,2) // Time Of Flight base class
fe4da5cc 107};
108
b94fa26c 109#endif /* ALITOF_H */