New ITS code for new structure and simulations.
[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 "AliITSsimulation.h"
8 #include "AliITSdictSSD.h"
9
10
11 class AliITSdictSSD;
12 class AliITSdcsSSD;
13
14 class AliITSsimulationSSD: public AliITSsimulation {
15
16 public:
17
18   AliITSsimulationSSD() {}
19   AliITSsimulationSSD(AliITSsimulationSSD &source); // copy constructor
20   AliITSsimulationSSD& operator=(AliITSsimulationSSD &source); // operator =
21   AliITSsimulationSSD(AliITSsegmentation *seg, AliITSresponse *resp);
22   virtual ~AliITSsimulationSSD();
23     
24   void DigitiseModule(AliITSmodule *mod, Int_t mod, Int_t dummy);  
25   void HitToDigit(Int_t &hit,Int_t idtrack,Int_t nhits,TObjArray *hits);            
26
27   TArrayF* GetSignalP() {return fP;}
28   TArrayF* GetSignalN() {return fN;}
29
30 protected:
31   
32   Int_t IntegrateGaussian(Double_t par, Double_t av, Double_t sigma, 
33                           Double_t inf, Double_t sup);
34   void  NormalizeCharge(Int_t k, Double_t pair);
35   Int_t NumOfSteps(Double_t x, Double_t y, Double_t z,
36                    Double_t &dex,Double_t &dey,Double_t &dez);
37   void  ApplyNoise();
38   void  ApplyCoupling();
39   void  ApplyThreshold();
40   void  ApplyDAQ();
41   
42   Float_t  F(Float_t x, Float_t s); 
43   Float_t  Get2Strip(Int_t flag, Int_t istrip, Float_t x, Float_t z);
44   
45   // Data members 
46   
47 protected:
48   
49   AliITSdcsSSD    *fDCS;
50   Int_t   fNstrips;
51   Float_t fPitch;
52   TArrayF *fN;         // for signal N side
53   TArrayF *fP;         // for signal P side
54   AliITSdictSSD *fTracksP;  //!
55   AliITSdictSSD *fTracksN;  //! 
56   //______________________________________________________________
57   //  
58   // Parameters for simulation
59   //______________________________________________________________
60   Int_t    fSteps;                //Number of steps 
61   
62   ClassDef(AliITSsimulationSSD,1)
63     
64     
65     };
66
67
68 #endif