get tables from the aliroot directory if they are not in the current one
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackHit.cxx
index fa14a66..2ff7cdb 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-Revision 1.3  2000/06/25 13:06:39  hristov
-Inline functions moved from *.cxx to *.h files instead of forward declarations
+/* $Id$ */
 
-Revision 1.2  2000/06/15 07:58:49  morsch
-Code from MUON-dev joined
-
-Revision 1.1.2.3  2000/06/12 10:11:45  morsch
-Dummy copy constructor and assignment operator added
-
-Revision 1.1.2.2  2000/06/09 12:58:05  gosset
-Removed comment beginnings in Log sections of .cxx files
-Suppressed most violations of coding rules
-
-Revision 1.1.2.1  2000/06/07 14:44:53  gosset
-Addition of files for track reconstruction in C++
-*/
-
-//__________________________________________________________________________
+///////////////////////////////////////////////////////
 //
-// Reconstructed track hit in ALICE dimuon spectrometer
-//__________________________________________________________________________
-
-#include "AliMUONTrackHit.h" 
+// Reconstructed track hit
+// in
+// ALICE
+// dimuon
+// spectrometer
+//
+///////////////////////////////////////////////////////
 
 #include "AliMUONHitForRec.h" 
+#include "AliMUONTrackHit.h" 
 
 ClassImp(AliMUONTrackHit) // Class implementation in ROOT context
 
@@ -63,13 +50,13 @@ AliMUONTrackHit::AliMUONTrackHit(AliMUONHitForRec* Hit)
 }
 
   //__________________________________________________________________________
-AliMUONTrackHit::AliMUONTrackHit (const AliMUONTrackHit& MUONTrackHit)
+AliMUONTrackHit::AliMUONTrackHit (const AliMUONTrackHit& MUONTrackHit):TObject(MUONTrackHit)
 {
 // Dummy copy constructor
 }
 
   //__________________________________________________________________________
-AliMUONTrackHit & AliMUONTrackHit::operator=(const AliMUONTrackHit& MUONTrackHit)
+AliMUONTrackHit & AliMUONTrackHit::operator=(const AliMUONTrackHit& /*MUONTrackHit*/)
 {
 // Dummy assignment operator
     return *this;
@@ -80,35 +67,37 @@ AliMUONTrackHit & AliMUONTrackHit::operator=(const AliMUONTrackHit& MUONTrackHit
 AliMUONTrackHit::~AliMUONTrackHit()
 {
   // Destructor
-//   AliMUONHitForRec * hit; // pointer to HitForRec
-//   // remove current TrackHit in HitForRec links
-//   if (this == hit->GetFirstTrackHitPtr())
-//     hit->SetFirstTrackHitPtr(fNextTrackHitWithSameHitForRec); // if first
-//   if (this == hit->GetLastTrackHitPtr())
-//     hit->SetLastTrackHitPtr(fPrevTrackHitWithSameHitForRec); // if last
-//   hit->SetNTrackHits(hit->GetNTrackHits() - 1); // decrement NTrackHits
-//   // update link to next TrackHit of previous TrackHit
-//   if (fPrevTrackHitWithSameHitForRec != NULL)
-//     fPrevTrackHitWithSameHitForRec->
-//       SetNextTrackHitWithSameHitForRec(fNextTrackHitWithSameHitForRec);
-//   // update link to previous TrackHit of next TrackHit
-//   if (fNextTrackHitWithSameHitForRec)
-//     fNextTrackHitWithSameHitForRec->
-//       SetPrevTrackHitWithSameHitForRec(fPrevTrackHitWithSameHitForRec);
+  // Update links between HitForRec's and TrackHit's
+  // connected to the current TrackHit being removed.
+  AliMUONHitForRec *hit = fHitForRecPtr; // pointer to HitForRec
+  // remove current TrackHit in HitForRec links
+  if (this == hit->GetFirstTrackHitPtr())
+    hit->SetFirstTrackHitPtr(fNextTrackHitWithSameHitForRec); // if first
+  if (this == hit->GetLastTrackHitPtr())
+    hit->SetLastTrackHitPtr(fPrevTrackHitWithSameHitForRec); // if last
+  hit->SetNTrackHits(hit->GetNTrackHits() - 1); // decrement NTrackHits of hit
+  // update link to next TrackHit of previous TrackHit
+  if (fPrevTrackHitWithSameHitForRec != NULL)
+    fPrevTrackHitWithSameHitForRec->
+      SetNextTrackHitWithSameHitForRec(fNextTrackHitWithSameHitForRec);
+  // update link to previous TrackHit of next TrackHit
+  if (fNextTrackHitWithSameHitForRec)
+    fNextTrackHitWithSameHitForRec->
+      SetPrevTrackHitWithSameHitForRec(fPrevTrackHitWithSameHitForRec);
   // to be checked thoroughly !!!!
   // with Root counter of AliMUONTrackHit objects,
   // with loop over all these links after the update
 }
 
   //__________________________________________________________________________
-Int_t AliMUONTrackHit::Compare(TObject* TrackHit)
+Int_t AliMUONTrackHit::Compare(const TObject* TrackHit) const
 {
-  // "Compare" function to sort with increasing Z.
-  // Returns -1 (0, +1) if Z of current TrackHit
+  // "Compare" function to sort with decreasing Z (spectro. muon Z <0).
+  // Returns 1 (0, -1) if Z of current TrackHit
   // is smaller than (equal to, larger than) Z of TrackHit
   if (fHitForRecPtr->GetZ() <
-      ((AliMUONTrackHit*)TrackHit)->fHitForRecPtr->GetZ()) return(-1);
+      ((AliMUONTrackHit*)TrackHit)->fHitForRecPtr->GetZ()) return(1);
   else if (fHitForRecPtr->GetZ() ==
           ((AliMUONTrackHit*)TrackHit)->fHitForRecPtr->GetZ()) return( 0);
-  else return(+1);
+  else return(-1);
 }