]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMD.h
Bug fix for SDD test beam simulation.
[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 #include <AliLoader.h>
13
14 #include "AliFMDReconstruction.h"
15
16 class TClonesArray;
17  class AliFMD : public AliDetector {
18  
19 public:
20   AliFMD();
21   AliFMD(const char *name, const char *title);
22   virtual       ~AliFMD(); 
23   virtual void   AddHit(Int_t, Int_t*, Float_t*);
24   virtual void   AddDigit(Int_t*);
25    virtual void   BuildGeometry();
26   virtual void   CreateGeometry() {}
27   virtual void   CreateMaterials()=0; 
28   virtual Int_t  DistanceToPrimitive(Int_t px, Int_t py);
29   virtual Int_t  IsVersion() const =0;
30   virtual void   Init();
31   virtual void   MakeBranch(Option_t *opt=" ");
32   virtual void   MakeBranchInTreeD(TTree *treeD, const char *file=0);
33   virtual void   SetTreeAddress();
34   virtual void   ResetHits();
35   virtual void   ResetDigits();
36   virtual void   DrawDetector()=0;
37   virtual void   StepManager() {}
38    
39   void SetEventNumber(Int_t i)     {fEvNrSig = i;}
40   void  Eta2Radius(Float_t, Float_t, Float_t*);
41   virtual void Reconstruct() const{ AliFMDReconstruction reco(GetLoader()->GetRunLoader()); reco.Exec();}
42
43  
44    // Digitisation
45   TClonesArray *ReconParticles() const {return fReconParticles;}   
46   virtual void SetHitsAddressBranch(TBranch *b){b->SetAddress(&fHits);}
47   virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
48
49  protected:
50 //Granularity
51   Int_t fRingsSi1;       // Number of rings
52   Int_t fSectorsSi1;    // Number of sectors
53   Int_t fRingsSi2;       // Number of rings
54   Int_t fSectorsSi2;    // Number of sectors
55
56   Int_t   fNevents ;        // Number of events to digitize
57   Int_t fEvNrSig;                 // signal     event number
58
59
60   TClonesArray *fReconParticles;
61
62  ClassDef(AliFMD,6)  //Class for the FMD detector
63 };
64 #endif // AliFMD_H
65
66