Problems with the HP compiler fixed
[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 module, Int_t dummy);  
25   void HitToDigit(Int_t &hit,Int_t idtrack,Int_t nhits,TObjArray *hits);            
26
27   TArrayF* GetSignalP() {
28                          // return the signal of P strip
29                          return fP;
30                                                                 }
31   TArrayF* GetSignalN() {
32                          // return the signal of N strip
33                          return fN;
34                                                                 }
35
36 protected:
37   
38   Int_t IntegrateGaussian(Double_t par, Double_t av, Double_t sigma, 
39                           Double_t inf, Double_t sup);
40   void  NormalizeCharge(Int_t k, Double_t pair);
41   Int_t NumOfSteps(Double_t x, Double_t y, Double_t z,
42                    Double_t &dex,Double_t &dey,Double_t &dez);
43   void  ApplyNoise();
44   void  ApplyCoupling();
45   void  ApplyThreshold();
46   void  ApplyDAQ();
47   
48   Float_t  F(Float_t x, Float_t s); 
49   Float_t  Get2Strip(Int_t flag, Int_t istrip, Float_t x, Float_t z);
50   
51   // Data members 
52   
53 protected:
54   
55   AliITSdcsSSD    *fDCS;
56   Int_t   fNstrips;
57   Float_t fPitch;
58   TArrayF *fN;         // for signal N side
59   TArrayF *fP;         // for signal P side
60   AliITSdictSSD *fTracksP;  //!
61   AliITSdictSSD *fTracksN;  //! 
62   //______________________________________________________________
63   //  
64   // Parameters for simulation
65   //______________________________________________________________
66   Int_t    fSteps;                //Number of steps 
67   
68   ClassDef(AliITSsimulationSSD,1)
69     
70     
71     };
72
73
74 #endif