]>
Commit | Line | Data |
---|---|---|
409f8c84 | 1 | #ifndef ALIITSSIMULATIONSPDDUBNA_H |
2 | #define ALIITSSIMULATIONSPDDUBNA_H | |
3 | ||
f74211b0 | 4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
409f8c84 | 7 | #include "AliITSsimulation.h" |
12e7c97c | 8 | #include "AliITSresponseSPDdubna.h" |
9 | #include "AliITSsegmentationSPD.h" | |
409f8c84 | 10 | |
409f8c84 | 11 | class AliITSmodule; |
12 | ||
13 | //------------------------------------------------------------------- | |
14 | ||
15 | class AliITSsimulationSPDdubna : public AliITSsimulation { | |
f74211b0 | 16 | public: |
17 | AliITSsimulationSPDdubna(); | |
18 | AliITSsimulationSPDdubna(AliITSsegmentation *seg, AliITSresponse *res); | |
19 | virtual ~AliITSsimulationSPDdubna(); | |
12e7c97c | 20 | // copy constructor |
21 | AliITSsimulationSPDdubna(const AliITSsimulationSPDdubna &source); | |
22 | // ass. operator | |
23 | AliITSsimulationSPDdubna& operator=(const AliITSsimulationSPDdubna &s); | |
24 | // Initilizes the variables | |
25 | void Init(AliITSsegmentation *seg, AliITSresponse *resp); | |
409f8c84 | 26 | |
f74211b0 | 27 | void InitSimulationModule(Int_t module, Int_t event); |
28 | void SDigitiseModule(AliITSmodule *mod, Int_t mask, Int_t event); | |
12e7c97c | 29 | void WriteSDigits(); |
f74211b0 | 30 | void FinishSDigitiseModule(); |
12e7c97c | 31 | void SDigitsToDigits(); |
f74211b0 | 32 | void DigitiseModule(AliITSmodule *mod,Int_t module,Int_t dummy); |
12e7c97c | 33 | void UpdateMapSignal(Int_t i,Int_t j,Int_t trk,Int_t ht,Double_t signal); |
34 | void UpdateMapNoise(Int_t ix,Int_t iz,Float_t noise); | |
35 | void HitToDigit(AliITSmodule *mod); | |
36 | void HitToSDigit(AliITSmodule *mod); | |
37 | void HitToSDigitOld(AliITSmodule *mod); | |
38 | void ChargeToSignal(); | |
f74211b0 | 39 | void CreateHistograms(); |
40 | void ResetHistograms(); | |
12e7c97c | 41 | TObjArray* GetHistArray() {return fHis;}// get hist array |
409f8c84 | 42 | |
f74211b0 | 43 | private: |
12e7c97c | 44 | void SpreadCharge(Double_t x0,Double_t z0,Int_t ix0,Int_t iz0, |
45 | Double_t el,Double_t sig,Int_t t,Int_t hi); | |
f74211b0 | 46 | AliITSsegmentationSPD* GetSeg(){ // Return pointer to Segmentation class |
47 | return (AliITSsegmentationSPD*)fSegmentation;} | |
48 | AliITSresponseSPDdubna* GetResp(){ // Return pointer to Responce class | |
49 | return (AliITSresponseSPDdubna*)fResponse;} | |
12e7c97c | 50 | //Double_t * CreateFindCellEdges(Double_t x0,Double_t x1,Double_t z0, |
51 | // Double_t z1,Int_t &n); | |
52 | void SetCoupling(Int_t row,Int_t col,Int_t ntrack,Int_t idhit); | |
53 | void SetCouplingOld(Int_t row, Int_t col,Int_t ntrack,Int_t idhit); | |
54 | // Getters for data kept in fSegmentation and fResponse. | |
55 | // Returns the Threshold in electrons | |
56 | Double_t GetThreshold(){ return GetResp()->GetThreshold();} | |
57 | // Returns the couplings Columb and Row. | |
58 | void GetCouplings(Float_t &cc,Float_t &cr){ | |
59 | ((AliITSresponseSPDdubna*)GetResp())->GetNoiseParam(cc,cr);} | |
60 | // Returns the number of pixels in x | |
61 | Int_t GetNPixelsX(){return GetSeg()->Npx();} | |
62 | // Returns the number of pixels in z | |
63 | Int_t GetNPixelsZ(){return GetSeg()->Npz();} | |
64 | ||
65 | ClassDef(AliITSsimulationSPDdubna,2) // Simulation of SPD clusters | |
409f8c84 | 66 | |
f74211b0 | 67 | TObjArray *fHis; //! just in case for histogramming |
68 | ||
f74211b0 | 69 | }; |
409f8c84 | 70 | #endif |