]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSsimulationSPDdubna.h
Radiator to Pad goes static.
[u/mrichter/AliRoot.git] / ITS / AliITSsimulationSPDdubna.h
CommitLineData
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 11class AliITSmodule;
12
13//-------------------------------------------------------------------
14
15class 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