]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSsimulationSSD.h
New version including the full 3D vertex finder
[u/mrichter/AliRoot.git] / ITS / AliITSsimulationSSD.h
1 #ifndef ALIITSSIMULATIONSSD_H
2 #define ALIITSSIMULATIONSSD_H
3
4 #include <TArrayF.h>
5
6 #include "AliITSdcsSSD.h"
7 //#include "AliITSdictSSD.h"
8 #include "AliITSsimulation.h"
9 #include "AliITSsegmentationSSD.h"
10
11
12 class AliITSMapA2;
13 //class AliITSdictSSD;
14 class AliITSdcsSSD;
15
16 class AliITSsimulationSSD: public AliITSsimulation {
17
18 public:
19
20   AliITSsimulationSSD() {}
21   AliITSsimulationSSD(AliITSsimulationSSD &source); // copy constructor
22   AliITSsimulationSSD& operator=(AliITSsimulationSSD &source); // operator =
23   AliITSsimulationSSD(AliITSsegmentation *seg, AliITSresponse *resp);
24   virtual ~AliITSsimulationSSD();
25     
26   void DigitiseModule(AliITSmodule *mod, Int_t imod, Int_t dummy);  
27   //void HitToDigit(Double_t x0, Double_t y0, Double_t z0, 
28   void HitToDigit(Int_t module, Double_t x0, Double_t y0, Double_t z0, //b.b. 
29                   Double_t x, Double_t y, Double_t z, Double_t de,
30                   Int_t *indexRange, Bool_t first);            
31   Int_t NumOfSteps(Double_t x, Double_t y, Double_t z,
32                    Double_t  & dex,Double_t & dey,Double_t & dez);
33   void GetList(Int_t track, Float_t **pList, Int_t *IndexRange);
34   void ChargeToSignal(Float_t **pList);
35   
36   //TArrayF* GetSignalP() {return fP;}
37   //TArrayF* GetSignalN() {return fN;}
38   
39   AliITSsegmentationSSD *GetSegmentation() {return (AliITSsegmentationSSD*)fSegmentation;}
40
41  protected:
42   
43   void  IntegrateGaussian(Int_t k, Double_t par, Double_t av, Double_t sigma, 
44                           Double_t inf, Double_t sup,
45                           Int_t *indexRange, Bool_t first);
46   void  ApplyNoise();
47   void  ApplyCoupling();
48   //  void  ApplyThreshold();
49   //void  ApplyDAQ();
50   
51   Float_t  F(Float_t av, Float_t x, Float_t s); 
52   //  Float_t  Get2Strip(Int_t flag, Int_t istrip, Float_t x, Float_t z);
53   
54   // Data members 
55   
56  protected:
57   
58   AliITSdcsSSD    *fDCS;
59   Int_t   fNstrips;
60   Float_t fPitch;
61   //TArrayF *fN;         // for signal N side
62   //TArrayF *fP;         // for signal P side
63   //AliITSdictSSD *fTracksP;  //!
64   //AliITSdictSSD *fTracksN;  //! 
65   
66   //______________________________________________________________
67   //  
68   // Parameters for simulation
69   //______________________________________________________________
70   Int_t    fSteps;                //Number of steps 
71   
72  private:
73
74   AliITSMapA2  *fMapA2;        // MapA2
75   
76   ClassDef(AliITSsimulationSSD,1)
77     
78     };
79
80
81 #endif