]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFHitMap.cxx
Coverity fix.
[u/mrichter/AliRoot.git] / TOF / AliTOFHitMap.cxx
index f84e04a0ef14a2eb27df309db980d55df5feadd0..1a1c39f09fd6c7a99f4c479f835e0693c78367bf 100644 (file)
 
 ClassImp(AliTOFHitMap)
 
-AliTOFHitMap::AliTOFHitMap()
+AliTOFHitMap::AliTOFHitMap():
+  fNSector(-1),
+  fNplate(-1),
+  fNstrip(-1),
+  fNpx(-1),
+  fNpz(-1),
+  fSDigits(0x0),
+  fMaxIndex(-1),
+  fHitMap(0x0)
 {
 //
 // Default ctor
 //
-  fHitMap = 0;
-  fSDigits = 0;
 }
 
 ////////////////////////////////////////////////////////////////////////
-AliTOFHitMap::AliTOFHitMap(TClonesArray *dig, AliTOFGeometry *tofGeom)
+AliTOFHitMap::AliTOFHitMap(TClonesArray *dig):
+  fNSector(-1),
+  fNplate(-1),
+  fNstrip(-1),
+  fNpx(-1),
+  fNpz(-1),
+  fSDigits(dig),
+  fMaxIndex(-1),
+  fHitMap(0x0)
 {
 //
 // ctor
@@ -61,27 +75,37 @@ AliTOFHitMap::AliTOFHitMap(TClonesArray *dig, AliTOFGeometry *tofGeom)
 // of course, these constants must not be hardwired
 // change later
 
-  fTOFGeometry = tofGeom;
-
   fNSector = AliTOFGeometry::NSectors();
   fNplate = AliTOFGeometry::NPlates();
-  fNstrip = fTOFGeometry->NStripC();//fTOFGeometry->NMaxNstrip();
+  fNstrip = AliTOFGeometry::NStripC();//fTOFGeometry->NMaxNstrip();
   fNpx  = AliTOFGeometry::NpadX();
   fNpz  = AliTOFGeometry::NpadZ();
   fMaxIndex=fNSector*fNplate*fNstrip*fNpx*fNpz;
   fHitMap = new Int_t[fMaxIndex];
-  fSDigits =  dig;
   Clear();
 }
 
 ////////////////////////////////////////////////////////////////////////
-AliTOFHitMap::AliTOFHitMap(const AliTOFHitMap & /*hitMap*/)
-:TObject()
+AliTOFHitMap::AliTOFHitMap(const AliTOFHitMap & hitMap) :
+  TObject(hitMap),
+  fNSector(hitMap.fNSector),
+  fNplate(hitMap.fNplate),
+  fNstrip(hitMap.fNstrip),
+  fNpx(hitMap.fNpx),
+  fNpz(hitMap.fNpz),
+  fSDigits(hitMap.fSDigits),
+  fMaxIndex(hitMap.fMaxIndex),
+  fHitMap(0x0)
 {
 //
 // Dummy copy constructor
 //
-  ;
+
+  fMaxIndex=fNSector*fNplate*fNstrip*fNpx*fNpz;
+  fHitMap = new Int_t[fMaxIndex];
+  for (Int_t i=0; i<fMaxIndex; i++)
+    fHitMap[i]=hitMap.fHitMap[i];
+
 }
 
  
@@ -93,8 +117,6 @@ AliTOFHitMap::~AliTOFHitMap()
 //
   delete[] fHitMap;
 
-  fTOFGeometry = 0x0;
-
 }
 
 ////////////////////////////////////////////////////////////////////////
@@ -107,7 +129,7 @@ void AliTOFHitMap::Clear(const char *)
 }
 
 ////////////////////////////////////////////////////////////////////////
-Int_t AliTOFHitMap::CheckedIndex(Int_t *vol) const
+Int_t AliTOFHitMap::CheckedIndex(Int_t * const vol) const
 {
 //
 // Return checked indices for vol
@@ -187,8 +209,33 @@ FlagType AliTOFHitMap::TestHit(Int_t *vol) const
 }
 
 ////////////////////////////////////////////////////////////////////////
-AliTOFHitMap & AliTOFHitMap::operator = (const AliTOFHitMap & /*rhs*/
+AliTOFHitMap & AliTOFHitMap::operator = (const AliTOFHitMap & hitMap
 {
-// Dummy assignment operator
+  // Assignment operator
+
+  if (this == &hitMap)
     return *this;
+
+  TObject::operator=(hitMap);
+  fNSector=hitMap.fNSector;
+  fNplate=hitMap.fNplate;
+  fNstrip=hitMap.fNstrip;
+  fNpx=hitMap.fNpx;
+  fNpz=hitMap.fNpz;
+
+  fSDigits=hitMap.fSDigits; // coverity: to be solved
+  /*
+  fSDigits = new TClonesArray("AliTOFSDigit");
+  for (Int_t ii=0; ii<hitMap.fSDigits->GetEntriesFast(); ii++)
+    fSDigits->AddLast(hitMap.fSDigits->UncheckedAt(ii));
+  */
+  //fSDigits = TClonesArray(&hitMap.fSDigits);
+
+  fMaxIndex=fNSector*fNplate*fNstrip*fNpx*fNpz;
+  fHitMap = new Int_t[fMaxIndex];
+  for (Int_t i=0; i<fMaxIndex; i++)
+    fHitMap[i]=hitMap.fHitMap[i];
+
+  return *this;
+
 }