New version compatible with the current HEAD
[u/mrichter/AliRoot.git] / ITS / AliITSsimulationSPDbari.h
1 #ifndef ALIITSSIMULATIONSPDBARI_H
2 #define ALIITSSIMULATIONSPDBARI_H
3
4 #include "AliITSsimulation.h"
5
6 class AliITSMapA2;
7 class AliITSsegmentation;
8 class AliITSresponse;
9 class AliITSmodule;
10
11 //-------------------------------------------------------------------
12
13 class AliITSsimulationSPDbari : public AliITSsimulation {
14
15 public:
16         
17   AliITSsimulationSPDbari();
18   AliITSsimulationSPDbari(AliITSsegmentation *seg, AliITSresponse *res);
19   ~AliITSsimulationSPDbari();
20   AliITSsimulationSPDbari(const AliITSsimulationSPDbari &source); // copy constructor
21   AliITSsimulationSPDbari& operator=(const AliITSsimulationSPDbari &source); // ass. operator
22
23   void DigitiseModule(AliITSmodule *mod,Int_t module, Int_t dummy);
24   void SetFluctuations(Float_t **pList);
25   void HitToDigit(AliITSmodule *mod, Int_t hitpos, Int_t module, 
26               Int_t *frowpixel, Int_t *fcolpixel, Double_t *fenepixel,
27               Float_t **pList);
28              
29   void UpdateMap( Int_t row, Int_t col, Double_t ene); 
30   void ChargeSharing(Float_t x1l,Float_t z1l,Float_t x2l,
31                     Float_t z2l,Int_t c1,Int_t r1,Int_t c2,
32                                     Int_t r2,Float_t etot,
33                                     Int_t &npixel,Int_t *frowpixel,
34                                     Int_t *fcolpixel,Double_t *fenepixel);
35   
36   void SetCoupling(Int_t row, Int_t col, Int_t ntrack, Int_t idhit, Float_t **pList);
37   void CreateDigit(Int_t nhits, Int_t module, Float_t **pList);
38   void GetList(Int_t track,Int_t idhit, Float_t **pList, Int_t row, Int_t col);
39
40   void CreateHistograms();
41   void ResetHistograms();
42   TObjArray*  GetHistArray() {
43     // get hist array
44     return fHis;
45   }
46
47 private:
48
49   AliITSMapA2  *fMapA2;        // MapA2
50   Float_t      fThresh;        // Threshold
51   Float_t      fSigma;         // Noise 
52   Float_t      fCouplCol;      // Coupling along columns
53   Float_t      fCouplRow;      // Coupling along rows
54   Int_t        fNPixelsX;      // NPixelsX
55   Int_t        fNPixelsZ;      // NPixelsZ
56
57   TObjArray *fHis;             // just in case for histogramming
58     
59   ClassDef(AliITSsimulationSPDbari,1)  // Simulation of SPD clusters
60
61 };
62
63 #endif 
64