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