d28dcc0d |
1 | #ifndef ALIFMD_H |
2 | #define ALIFMD_H |
3da30618 |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
fe4da5cc |
6 | //////////////////////////////////////////////// |
d28dcc0d |
7 | // Manager and hits classes for set:Si-FMD // |
fe4da5cc |
8 | //////////////////////////////////////////////// |
9 | |
10 | #include "AliDetector.h" |
b9a2d5e4 |
11 | #include "TString.h" |
4110645f |
12 | #include "TBranch.h" |
13 | //#include "AliFMDMerger.h" |
37c55dc0 |
14 | #include "AliFMDSDigitizer.h" |
b9a2d5e4 |
15 | class TFile; |
16 | class TTree; |
4110645f |
17 | // class AliFMDMerger; |
b9a2d5e4 |
18 | class AliFMD : public AliDetector { |
fe4da5cc |
19 | |
20 | public: |
21 | AliFMD(); |
22 | AliFMD(const char *name, const char *title); |
d28dcc0d |
23 | virtual ~AliFMD(); |
fe4da5cc |
24 | virtual void AddHit(Int_t, Int_t*, Float_t*); |
b9a2d5e4 |
25 | virtual void AddDigit(Int_t*); |
37c55dc0 |
26 | virtual void AddSDigit(Int_t*); |
fe4da5cc |
27 | virtual void BuildGeometry(); |
b9a2d5e4 |
28 | virtual void CreateGeometry() {} |
d28dcc0d |
29 | virtual void CreateMaterials()=0; |
30 | virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); |
fe4da5cc |
31 | virtual Int_t IsVersion() const =0; |
32 | virtual void Init(); |
9e1a0ddb |
33 | virtual void MakeBranch(Option_t *opt=" ",const char *file=0); |
4110645f |
34 | virtual void MakeBranchInTreeD(TTree *treeD, const char *file=0); |
b9a2d5e4 |
35 | virtual void SetTreeAddress(); |
36 | virtual void ResetHits(); |
37 | virtual void ResetDigits(); |
d28dcc0d |
38 | virtual void DrawDetector()=0; |
b9a2d5e4 |
39 | virtual void StepManager() {} |
4110645f |
40 | // Granularity |
41 | virtual void SetRingsSi1(Int_t ringsSi1=256); |
42 | virtual void SetSectorsSi1(Int_t sectorsSi1=20); |
43 | virtual void SetRingsSi2(Int_t ringsSi2=128); |
44 | virtual void SetSectorsSi2(Int_t sectorsSi2=40); |
37c55dc0 |
45 | |
4110645f |
46 | void SetEventNumber(Int_t i) {fEvNrSig = i;} |
d28dcc0d |
47 | void Eta2Radius(Float_t, Float_t, Float_t*); |
b9a2d5e4 |
48 | void Hits2SDigits();// |
dc8af42e |
49 | void Digits2Reco(); |
4110645f |
50 | virtual void SetHitsAddressBranch(TBranch *b){b->SetAddress(&fHits);} |
51 | |
b9a2d5e4 |
52 | // Digitisation |
53 | TClonesArray *SDigits() const {return fSDigits;} |
dc8af42e |
54 | TClonesArray *ReconParticles() const {return fReconParticles;} |
dc8af42e |
55 | |
d28dcc0d |
56 | protected: |
57 | Int_t fIdSens1; //Si sensetive volume |
37c55dc0 |
58 | Int_t fIdSens2; //Si sensetive volume |
59 | Int_t fIdSens3; //Si sensetive volume |
60 | Int_t fIdSens4; //Si sensetive volume |
61 | Int_t fIdSens5; //Si sensetive volume |
62 | //Granularity |
63 | Int_t fRingsSi1; // Number of rings |
64 | Int_t fSectorsSi1; // Number of sectors |
65 | Int_t fRingsSi2; // Number of rings |
66 | Int_t fSectorsSi2; // Number of sectors |
67 | |
4110645f |
68 | Int_t fNevents ; // Number of events to digitize |
69 | Int_t fEvNrSig; // signal event number |
37c55dc0 |
70 | |
4110645f |
71 | // AliFMDMerger *fMerger; // ! pointer to merger |
b9a2d5e4 |
72 | TClonesArray *fSDigits ; // List of summable digits |
dc8af42e |
73 | TClonesArray *fReconParticles; |
74 | |
716e1827 |
75 | ClassDef(AliFMD,4) //Class for the FMD detector |
fe4da5cc |
76 | }; |
b9a2d5e4 |
77 | #endif // AliFMD_H |
dc8af42e |
78 | |
79 | |