]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSMapA2.cxx
Correction of the Z position of Q2 quadrupole from Chiara Oppedisano
[u/mrichter/AliRoot.git] / ITS / AliITSMapA2.cxx
index 05145485dd5cc1f411e89b2f6e374b95d1ea2812..e65b6a3b4e937d2de5b512e634ffb5b270cd1dd8 100644 (file)
 
 #include <TH1.h>
 #include <TObjArray.h>
-#include <TMath.h>
 
 #include "AliITSMapA2.h"
 #include "AliITSsegmentation.h"
-#include "AliITSresponse.h"
 #include "AliITSdigit.h"
 
 ////////////////////////////////////////////////////////////////////////
 ClassImp(AliITSMapA2)
 
 //______________________________________________________________________
-AliITSMapA2::AliITSMapA2(){
+AliITSMapA2::AliITSMapA2():
+fHitMapD(0),
+fMapThresholdD(0),
+fScaleSizeX(0),
+fScaleSizeZ(0){
     // default constructor
 
     fSegmentation  = 0;
     fNpz           = 0;
     fNpx           = 0;
     fMaxIndex      = 0;
-    fHitMapD       = 0;
     fObjects       = 0;
     fNobjects      = 0;
-    fMapThresholdD =0.;
 }
 //______________________________________________________________________
-AliITSMapA2::AliITSMapA2(AliITSsegmentation *seg){
+AliITSMapA2::AliITSMapA2(AliITSsegmentation *seg):
+fHitMapD(0),
+fMapThresholdD(0),
+fScaleSizeX(1),
+fScaleSizeZ(1){
     //constructor
 
-    fScaleSizeZ    = 1;
-    fScaleSizeX    = 1;
     fSegmentation  = seg;
     fNpz           = fSegmentation->Npz();
     fNpx           = fSegmentation->Npx();
     fMaxIndex      = fNpz*fNpx+fNpx;       // 2 halves of detector
-    fHitMapD       = new Double_t[fMaxIndex];
-    fMapThresholdD = 0.;
+    fHitMapD       = new Double_t[fMaxIndex+1];
     fObjects       = 0;
     fNobjects      = 0;
     ClearMap();
 }
 //______________________________________________________________________
 AliITSMapA2::AliITSMapA2(AliITSsegmentation *seg,
-                        Int_t scalesizeX, Int_t scalesizeZ){
+                        Int_t scalesizeX, Int_t scalesizeZ):
+fHitMapD(0),
+fMapThresholdD(0),
+fScaleSizeX(scalesizeX),
+fScaleSizeZ(scalesizeZ){
     //constructor
 
     fSegmentation  = seg;
-    fScaleSizeX    = scalesizeX;
-    fScaleSizeZ    = scalesizeZ;
     fNpz           = fScaleSizeZ*fSegmentation->Npz();
     fNpx           = fScaleSizeX*fSegmentation->Npx();
     fMaxIndex      = fNpz*fNpx+fNpx;             // 2 halves of detector
-    fHitMapD       = new Double_t[fMaxIndex];
-    fMapThresholdD = 0.;
+    fHitMapD       = new Double_t[fMaxIndex+1];
     fObjects       = 0;
     fNobjects      = 0;
     ClearMap();
 }
 //______________________________________________________________________
 AliITSMapA2::AliITSMapA2(AliITSsegmentation *seg, TObjArray *obj, 
-                        Double_t thresh){
+                        Double_t thresh):
+fHitMapD(0),
+fMapThresholdD(thresh),
+fScaleSizeX(1),
+fScaleSizeZ(1){
     //constructor
 
     fNobjects      = 0;
-    fScaleSizeZ    = 1;
-    fScaleSizeX    = 1;
     fSegmentation  = seg;
     fNpz           = fSegmentation->Npz();
     fNpx           = fSegmentation->Npx();
     fMaxIndex      = fNpz*fNpx+fNpx;             // 2 halves of detector  
-    fHitMapD       = new Double_t[fMaxIndex];
+    fHitMapD       = new Double_t[fMaxIndex+1];
     fObjects       =  obj;
     if (fObjects) fNobjects = fObjects->GetEntriesFast();
-    fMapThresholdD = thresh;
     ClearMap();
 }
 //______________________________________________________________________
@@ -105,29 +108,23 @@ AliITSMapA2::~AliITSMapA2(){
     if (fHitMapD) delete[] fHitMapD;
 }
 //______________________________________________________________________
-AliITSMapA2::AliITSMapA2(const AliITSMapA2 &source){
+AliITSMapA2::AliITSMapA2(const AliITSMapA2 &source) : AliITSMapA1(source),
+fHitMapD(source.fHitMapD),
+fMapThresholdD(source.fMapThresholdD),
+fScaleSizeX(source.fScaleSizeX),
+fScaleSizeZ(source.fScaleSizeZ){
     //     Copy Constructor 
 
-    if(&source == this) return;
-
-    this->fMapThresholdD = source.fMapThresholdD;
-    this->fScaleSizeX    = source.fScaleSizeX;
-    this->fScaleSizeZ    = source.fScaleSizeZ;
-    this->fHitMapD       = source.fHitMapD;
-    return;
 }
 //______________________________________________________________________
 AliITSMapA2& AliITSMapA2::operator=(const AliITSMapA2 &source) {
     //    Assignment operator
+  this->~AliITSMapA2();
+  new(this) AliITSMapA2(source);
+  return *this;
 
-    if(&source == this) return *this;
-
-    this->fMapThresholdD = source.fMapThresholdD;
-    this->fScaleSizeX    = source.fScaleSizeX;
-    this->fScaleSizeZ    = source.fScaleSizeZ;
-    this->fHitMapD       = source.fHitMapD;
-    return *this;
 }
+
 //______________________________________________________________________
 void AliITSMapA2::ClearMap(){
     //clear array
@@ -146,23 +143,11 @@ void  AliITSMapA2::FillMap(){
     AliITSdigit *dig;
     for (Int_t ndig=0; ndig<ndigits; ndig++) {
        dig = (AliITSdigit*)fObjects->UncheckedAt(ndig);
-       Double_t signal = (Double_t)(dig->fSignal);
-       if (signal > fMapThresholdD) SetHit(dig->fCoord1,dig->fCoord2,signal);
+       Double_t signal = (Double_t)(dig->GetSignal());
+       if (signal > fMapThresholdD) SetHit(dig->GetCoord1(),dig->GetCoord2(),signal);
     } // end for ndig
 }
 //______________________________________________________________________
-void  AliITSMapA2::SetHit(Int_t iz, Int_t ix, Double_t signal){
-    // set signal at a certain position in array
-
-    fHitMapD[CheckedIndex(iz, ix)]=signal;
-}
-//______________________________________________________________________
-void AliITSMapA2::DeleteHit(Int_t iz, Int_t ix){
-    //set the entry value to zero
-
-    fHitMapD[CheckedIndex(iz, ix)]=0;
-}
-//______________________________________________________________________
 void AliITSMapA2::FlagHit(Int_t iz, Int_t ix){
   //flag an entry
 
@@ -170,21 +155,16 @@ void AliITSMapA2::FlagHit(Int_t iz, Int_t ix){
                 -1000.*TMath::Abs((Int_t)(fHitMapD[CheckedIndex(iz, ix)])+1.);
 }
 //______________________________________________________________________
-Int_t AliITSMapA2::GetHitIndex(Int_t iz, Int_t ix){
-    //return the index of an entry in array 
-
-    return CheckedIndex(iz, ix);
-}
-//______________________________________________________________________
-TObject* AliITSMapA2::GetHit(Int_t i, Int_t dummy){
+TObject* AliITSMapA2::GetHit(Int_t i, Int_t dummy) const {
   //return a pointer to the 1D histogram
 
+    dummy = 0; // added to remove unused variable warning.
     if (fObjects) {
        return fObjects->UncheckedAt(i);
     } else return NULL;
 }
 //______________________________________________________________________
-Double_t AliITSMapA2::GetSignal(Int_t index){
+Double_t AliITSMapA2::GetSignal(Int_t index) const {
     //get signal in a cell 
 
     if (index<fMaxIndex) return (index <0) ? 0. : fHitMapD[index];