1 #ifndef ALIITSRESPONSESSD_H
2 #define ALIITSRESPONSESSD_H
4 #include "AliITSresponse.h"
10 //-----------------------------
11 class AliITSresponseSSD : public AliITSresponse {
15 AliITSresponseSSD(const char *dataType);
16 virtual ~AliITSresponseSSD();
17 AliITSresponseSSD(const AliITSresponseSSD &source); // copy constructor
18 AliITSresponseSSD& operator=(const AliITSresponseSSD &source); // ass. op.
20 virtual void SetDiffCoeff(Float_t p1=0.,Float_t dummy=0.) {
21 // Diffusion coefficient
24 virtual void DiffCoeff(Float_t &diffc,Float_t &dummy) {
25 // Get diffusion coefficient
29 virtual void SetNoiseParam(Float_t np=420., Float_t nn=625.) {
31 fNoiseP=np; fNoiseN=nn;
33 virtual void GetNoiseParam(Float_t &np, Float_t &nn) {
35 np=fNoiseP; nn=fNoiseN;
38 virtual void SetParamOptions(const char *opt1="", const char *opt2="") {
39 // parameters: "SetInvalid" to simulate the invalid strips
40 fOption1=opt1; fOption2=opt2;
42 virtual void ParamOptions(char *opt1,char *opt2) {
44 strcpy(opt1,fOption1.Data()); strcpy(opt2,fOption2.Data());
47 // Number of parameters to be set
48 // 4 couplings, mean number of invalid strips, RMS of invalid strips
49 virtual void SetNDetParam(Int_t npar=6) {
50 // set number of param
54 virtual void SetDetParam(Float_t *par);
57 virtual Int_t NDetParam() {
61 virtual void GetDetParam(Float_t *dpar);
63 virtual void SetDataType(const char *data="simulated") {
64 // Type of data - real or simulated
67 virtual const char *DataType() const {
69 return fDataType.Data();
72 virtual void SetSigmaSpread(Float_t p1=3., Float_t p2=2.) {
73 // Set sigmas of the charge spread function: Pside-Nside
74 // square of (microns)
75 fSigmaP=p1; fSigmaN=p2;
77 virtual void SigmaSpread(Float_t &sP, Float_t &sN) {
78 // Get sigmas for the charge spread
79 sP=fSigmaP; sN=fSigmaN;
81 virtual void SetADCpereV(Float_t a=50./30000.0){ // Sets electron-hole
82 // pairs to ADC value conversion factor are rather arbitrary
83 // (need tuning) minimum ionizing particle--> ~30000 pairs--> ADC
87 virtual Double_t DEvToADC(Double_t eV){ // Converts electron-hole pairs to
88 // ADC value conversion factor are rather arbitrary (need tuning)
89 // minimum ionizing particle--> ~30000 pairs--> ADC channel 50
92 virtual Int_t IEvToADC(Double_t eV){ // Converts electron-hole pairs to
94 return ((Int_t) DEvToADC(eV));
98 Int_t fNPar; // Number of detector param
99 Float_t *fDetPar; //[fNPar] Array of parameters
101 Float_t fNoiseP; // Noise on Pside
102 Float_t fNoiseN; // Noise on Nside
104 Float_t fSigmaP; // Sigma charge spread on Pside
105 Float_t fSigmaN; // Sigma charge spread on Nside
106 Float_t fDiffCoeff; // Diffusion Coefficient
108 Float_t fADCpereV; // Constant to convert eV to ADC.
110 TString fOption1; // Simulate invalid strips option
111 TString fOption2; // Not used for the moment
112 TString fDataType; // Type of data - real or simulated
114 ClassDef(AliITSresponseSSD,1) //Response class for SSD