#include "AliITSresponseSSD.h"
//////////////////////////////////////////////////
-// Response class for set:ITS //
-// Specific subdetector implementation //
-// for silicon strips detectors //
-// //
-// //
-//////////////////////////////////////////////////////
+// Base response class for ITS //
+// It is used to set static data members //
+// connected to parameters equal for all //
+// the SSD modules //
+//////////////////////////////////////////////////
+
-const Double_t AliITSresponseSSD::fgkDiffCoeffDefault = 0.;
+const Float_t AliITSresponseSSD::fgkDiffCoeffDefault = 0.;
const TString AliITSresponseSSD::fgkOption1Default = "";
const TString AliITSresponseSSD::fgkOption2Default = "";
-const Double_t AliITSresponseSSD::fgkNoiseNDefault = 625.;
-const Double_t AliITSresponseSSD::fgkNoisePDefault = 420.;
-const Int_t AliITSresponseSSD::fgkNParDefault = 6;
-const Double_t AliITSresponseSSD::fgkSigmaPDefault = 3.;
-const Double_t AliITSresponseSSD::fgkSigmaNDefault = 2.;
+const Double_t AliITSresponseSSD::fgkfCouplingPR = 0.01;
+const Double_t AliITSresponseSSD::fgkfCouplingPL = 0.01;
+const Double_t AliITSresponseSSD::fgkfCouplingNR = 0.01;
+const Double_t AliITSresponseSSD::fgkfCouplingNL = 0.01;
+const Int_t AliITSresponseSSD::fgkZSThreshold = 3;
+
ClassImp(AliITSresponseSSD)
//______________________________________________________________________
-AliITSresponseSSD::AliITSresponseSSD(){
+AliITSresponseSSD::AliITSresponseSSD():AliITSresponse(){
// Default Constructor
- fDetPar = 0;
- fNPar = 0;
- fNoiseP = 0;
- fNoiseN = 0;
- fSigmaP = 0;
- fSigmaN = 0;
- fDiffCoeff = 0;
- fADCpereV = 0;
- SetParamOptions(fgkOption1Default.Data(),fgkOption2Default.Data());
- SetNoiseParam(fgkNoisePDefault,fgkNoiseNDefault);
+ SetDiffCoeff(fgkDiffCoeffDefault,0.);
+ SetParamOptions(fgkOption1Default.Data(),fgkOption2Default.Data());
+ SetADCpereV();
+ SetCouplings(fgkfCouplingPR,fgkfCouplingPL,fgkfCouplingNR,fgkfCouplingNL);
+ SetZSThreshold(fgkZSThreshold);
}
-//______________________________________________________________________
-AliITSresponseSSD::AliITSresponseSSD(const char *dataType){
- // constructor
- SetDiffCoeff(fgkDiffCoeffDefault,0.);
- SetNoiseParam(fgkNoisePDefault,fgkNoiseNDefault);
- SetDataType(dataType);
- SetSigmaSpread(fgkSigmaPDefault,fgkSigmaNDefault);
- SetParamOptions(fgkOption1Default.Data(),fgkOption2Default.Data());
- SetNDetParam(fgkNParDefault); // Sets fNPar=6 by default.
- SetADCpereV();
- fDetPar = new Double_t[fNPar];
- if (fNPar==6) {
- fDetPar[0]=10.;
- fDetPar[1]=5.;
- fDetPar[2]=0.02;
- fDetPar[3]=0.02;
- fDetPar[4]=0.02;
- fDetPar[5]=0.03;
- } // end if
-}
//______________________________________________________________________
-AliITSresponseSSD::~AliITSresponseSSD(){
- // destructor
-
- delete [] fDetPar;
+AliITSresponseSSD::AliITSresponseSSD(const AliITSresponseSSD &ob) : AliITSresponse(ob) {
+ // Copy constructor
+ // Copies are not allowed. The method is protected to avoid misuse.
+ Error("AliITSresponseSSD","Copy constructor not allowed\n");
}
-//______________________________________________________________________
-AliITSresponseSSD& AliITSresponseSSD::operator=(const AliITSresponseSSD &src) {
- // = operator.
-
- if(&src == this) return *this;
- this->fNPar = src.fNPar;
- for(Int_t i=0;i<this->fNPar;i++) this->fDetPar[i] = src.fDetPar[i];
- this->fNoiseP = src.fNoiseP;
- this->fNoiseN = src.fNoiseN;
- this->fSigmaP = src.fSigmaP;
- this->fSigmaN = src.fSigmaN;
- this->fDiffCoeff = src.fDiffCoeff;
- this->fADCpereV = src.fADCpereV;
- this->fOption1 = src.fOption1;
- this->fOption2 = src.fOption2;
- this->fDataType = src.fDataType;
-
- return *this;
-}
-//_________________________________________________________________________
-AliITSresponseSSD::AliITSresponseSSD(const AliITSresponseSSD &src) :
- AliITSresponse(src) {
- // copy constructor
-
- *this = src;
-}
//______________________________________________________________________
-void AliITSresponseSSD::SetDetParam(Double_t *par){
- // set det param
- Int_t i;
-
- for (i=0; i<fNPar; i++) {
- fDetPar[i]=par[i];
- //printf("\n CompressPar %d %d \n",i,fCPar[i]);
- } // end for i
+AliITSresponseSSD& AliITSresponseSSD::operator=(const AliITSresponseSSD& /* ob */){
+ // Assignment operator
+ // Assignment is not allowed. The method is protected to avoid misuse.
+ Error("= operator","Assignment operator not allowed\n");
+ return *this;
}
-//______________________________________________________________________
-void AliITSresponseSSD::GetDetParam(Double_t *par) const {
- // get det param
- Int_t i;
- for (i=0; i<fNPar; i++) {
- par[i]=fDetPar[i];
- } // end for i
-}