splitting of simulation and reconstruction code (T.Kuhr)
[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 class TClonesArray;
15  class AliFMD : public AliDetector {
16  
17 public:
18   AliFMD();
19   AliFMD(const char *name, const char *title);
20   AliFMD(const AliFMD& FMD):AliDetector(FMD) {;}  //copy ctor
21   virtual       ~AliFMD(); 
22  AliFMD&  operator=(const AliFMD&)                 {return *this;}
23   virtual void   AddHit(Int_t track, Int_t * vol, Float_t * hits);
24   virtual void   AddDigit(Int_t* digits);
25    virtual void   BuildGeometry();
26   virtual void   CreateGeometry() {}
27   virtual void   CreateMaterials()=0; 
28   virtual const 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
41
42  
43    // Digitisation
44   virtual const void SetHitsAddressBranch(TBranch *b){b->SetAddress(&fHits);}
45   virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
46
47  protected:
48 //Granularity
49   Int_t fRingsSi1;       // Number of rings
50   Int_t fSectorsSi1;    // Number of sectors
51   Int_t fRingsSi2;       // Number of rings
52   Int_t fSectorsSi2;    // Number of sectors
53
54   Int_t   fNevents ;        // Number of events to digitize
55   Int_t fEvNrSig;                 // signal     event number
56
57  ClassDef(AliFMD,7)  //Class for the FMD detector
58 };
59 #endif // AliFMD_H
60
61