New ITS code for new structure and simulations.
[u/mrichter/AliRoot.git] / ITS / AliITSsimulationSSD.h
CommitLineData
b0f5e3fc 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
11class AliITSdictSSD;
12class AliITSdcsSSD;
13
14class AliITSsimulationSSD: public AliITSsimulation {
15
16public:
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
30protected:
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
47protected:
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