]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSresponseSSD.cxx
LUTs mapping symnames and original global matrices removed from AliGeomManager, which...
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSSD.cxx
index e5ba79eb089be5fb13ec88450ea286626f09b122..d6b585a244bf2bb81cdc0e61800817c25fec140b 100644 (file)
 
 #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(),
+fADCpereV(0),
+fKeVperADC(0),
+fCouplingPR(0),
+fCouplingPL(0),
+fCouplingNR(0),
+fCouplingNL(9),
+fZSThreshold(0),
+fOption1(),
+fOption2(){
     // 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();
+  SetKeVperADC();
+  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::operator=(const AliITSresponseSSD &src) {
-    // = operator.
-
-    if(&src == this) return *this;
+AliITSresponseSSD::AliITSresponseSSD(const AliITSresponseSSD &ob) : AliITSresponse(ob),
+fADCpereV(ob.fADCpereV),
+fKeVperADC(ob.fKeVperADC),
+fCouplingPR(ob.fCouplingPR),
+fCouplingPL(ob.fCouplingPL),
+fCouplingNR(ob.fCouplingNR),
+fCouplingNL(ob.fCouplingNL),
+fZSThreshold(ob.fZSThreshold),
+fOption1(ob.fOption1),
+fOption2(ob.fOption2) {
+  // Copy constructor
 
-    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
+  this->~AliITSresponseSSD();
+  new(this) AliITSresponseSSD(ob);
+  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
-}