]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSdcsSSD.cxx
Corrected call to the static method AliBitPacking::UnpackWord
[u/mrichter/AliRoot.git] / ITS / AliITSdcsSSD.cxx
index d046ef4406e3c826b513433eaa13e5727d0e8588..48427ba0575438a1ecfce4e663808ea33f9ba74c 100644 (file)
@@ -2,8 +2,25 @@
 #include <TArrayS.h>
 
 #include "AliITSdcsSSD.h"
+#include "AliITSCalibrationSSD.h"
 #include "AliITSresponseSSD.h"
 #include "AliITSsegmentationSSD.h"
+///////////////////////////////////////////////////////////////////////////
+//                                                                       //
+//  Class AliITSdcsSSD                                                   //
+//  describes Detector Control System parameters for one SSD module.     //
+//                                                                       //
+//  This class stores parametrers such as gain, threshold                //
+//  capacitive coupling.                                                 //
+//                                                                       //
+//  Class takes care of invalid strip menagement during                  //
+//  simulation and runtime                                               //
+//                                                                       //
+//                                                                       //
+//  created at: Warsaw University of Technology                          //
+//  ver. 1.0    WARSAW, 23.12.1999                                       //
+//                                                                       //
+///////////////////////////////////////////////////////////////////////////
 
 ClassImp(AliITSdcsSSD)
 
@@ -16,21 +33,21 @@ AliITSdcsSSD::AliITSdcsSSD(){
     fInvalidN = 0;
 }
 //______________________________________________________________________
-AliITSdcsSSD::AliITSdcsSSD(AliITSsegmentation *seg, AliITSresponse *resp){
+AliITSdcsSSD::AliITSdcsSSD(AliITSsegmentation *seg, AliITSCalibration *resp){
     // Standard constructor
 
-    fNstrips = seg->Npx();
+    fNstrips =(Float_t) (((AliITSsegmentationSSD*)seg)->Npx());
     
     fInvalidP = new TArrayS();
     fInvalidN = new TArrayS();
 
-    Int_t npar=resp->NDetParam();
+    Int_t npar=((AliITSCalibrationSSD*)resp)->NDetParam();
     if (npar < 6) {
        Warning("AliITSdcsSSD","I need 6 parameters ");
        npar=6;
     } // end if
 
-    Float_t *detpar= new Float_t[npar];
+    Double_t *detpar= new Double_t[npar];
     resp->GetDetParam(detpar);
 
     fNInvalid = detpar[0];
@@ -42,7 +59,7 @@ AliITSdcsSSD::AliITSdcsSSD(AliITSsegmentation *seg, AliITSresponse *resp){
     fCouplingNL = detpar[5];
 
     char opt[30],dummy[20];
-    resp->ParamOptions(opt,dummy);
+    ((AliITSCalibrationSSD*)resp)->GetParamOptions(opt,dummy);
     if (strstr(opt,"SetInvalid")) SetInvalidMC(fNInvalid,fISigma);
 
     delete [] detpar;
@@ -55,7 +72,7 @@ AliITSdcsSSD::~AliITSdcsSSD() {
     delete fInvalidN;
 }
 //______________________________________________________________________
-AliITSdcsSSD::AliITSdcsSSD(const AliITSdcsSSD &source){
+AliITSdcsSSD::AliITSdcsSSD(const AliITSdcsSSD &source) : TObject(source){
     //     Copy Constructor 
 
     if(&source == this) return;
@@ -138,7 +155,7 @@ void AliITSdcsSSD::SetInvalidParam(Float_t mean, Float_t sigma) {
     fISigma = (fISigma > fNstrips/10) ? fNstrips/10 : fISigma;
 }
 //______________________________________________________________________
-void AliITSdcsSSD::GetInvalidParam(Float_t &mean, Float_t &sigma) {
+void AliITSdcsSSD::GetInvalidParam(Float_t &mean, Float_t &sigma) const {
     // get invalid param
 
     mean = fNInvalid;