]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PMD/AliPMD.h
40d539fe06b89e6fa8e5dcc28d11bd2c4fcace89
[u/mrichter/AliRoot.git] / PMD / AliPMD.h
1 #ifndef ALIPMD_H
2 #define ALIPMD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////
9 //  Manager and hits classes for set:PMD      //
10 ////////////////////////////////////////////////
11  
12 #include "AliDetector.h"
13 #include "AliLoader.h"
14
15 class TClonesArray;
16 class TFile;
17 class AliPMDRecPoint;
18 class AliPMDLoader;
19 class AliPMDhit;
20 class AliPMDtracker;
21 class AliESDPmdTrack;
22 class AliESD;
23
24 class AliPMD : public AliDetector {
25
26 public:
27   AliPMD();
28   AliPMD(const char *name, const char *title);
29
30   virtual AliLoader* MakeLoader(const char* topfoldername);
31
32   virtual      ~AliPMD();
33   virtual void  AddHit(Int_t track, Int_t* vol, Float_t* hits);
34   virtual void  BuildGeometry();
35   virtual void  CreateGeometry() {}
36   virtual void  CreateMaterials() {}
37   Int_t         DistancetoPrimitive(Int_t, Int_t) const;
38   virtual Int_t IsVersion() const =0;
39   virtual void  SetPAR(Float_t p1, Float_t p2, Float_t p3, Float_t p4);
40   virtual void  SetIN(Float_t p1, Float_t p2, Float_t p3, Float_t p4, Float_t p5);
41   virtual void  SetGEO(Float_t p1, Float_t p2, Float_t p3);
42   virtual void  SetPadSize(Float_t p1, Float_t p2, Float_t p3, Float_t p4);
43   virtual void  StepManager();
44   virtual void  AddRecPoint(const AliPMDRecPoint &p);
45   virtual void  MakeBranch(Option_t* option);
46   virtual void  SetTreeAddress();
47   virtual void  ResetHits();
48   
49   virtual void  Hits2SDigits();
50   virtual void  SDigits2Digits();
51   virtual void  Hits2Digits();
52   virtual void  Reconstruct() const;
53   virtual void  FillESD(AliESD* esd) const;
54
55   virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager);
56
57   
58  protected:
59   Float_t fPar[4];           // pmdin, pmdout, thgas, thcell
60   Float_t fIn[5];            // thmin, thmax, zdist, thlow, thhigh
61   Float_t fGeo[3];           // wafer, edge, numqu
62   Float_t fPadSize[4];       // size of the pads
63   Int_t   fNumPads[4];       // number of the pads
64
65
66  private:
67   TClonesArray* fRecPoints;   //! List of reconstructed hits
68   Int_t         fNRecPoints;  // Number of reconstructed hits
69   
70   ClassDef(AliPMD,5)  // Base Class for Photon Multiplicity Detector
71 };
72 #endif