Implemented Clear and Print methods (Laurent)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 17 Jun 2007 20:51:50 +0000 (20:51 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 17 Jun 2007 20:51:50 +0000 (20:51 +0000)
MUON/AliMUONObjectPair.cxx
MUON/AliMUONObjectPair.h

index b55cd1c..e6d9892 100644 (file)
@@ -17,6 +17,9 @@
 
 #include "AliMUONObjectPair.h"
 
+#include "AliLog.h"
+#include <Riostream.h>
+
 /// \class AliMUONObjectPair
 ///
 /// The equivalent of a std::pair<TObject*,TObject*> ;-)
@@ -42,6 +45,7 @@ fIsOwnerOfFirst(kTRUE),
 fIsOwnerOfSecond(kTRUE)
 {
   /// ctor
+  AliDebug(1,Form("this=%p",this));
 }
 
 //_____________________________________________________________________________
@@ -56,6 +60,12 @@ fIsOwnerOfFirst(isOwnerOfFirst),
 fIsOwnerOfSecond(isOwnerOfSecond)
 {
   /// ctor
+  AliDebug(1,Form("this=%p first is %s second is %s",
+                  this,
+                  (first ? first->ClassName() : "0x0"),
+                  (second ? second->ClassName() : "0x0")
+                  ));
+
 }
 
 //_____________________________________________________________________________
@@ -67,6 +77,7 @@ fIsOwnerOfFirst(kTRUE),
 fIsOwnerOfSecond(kTRUE)
 {
   /// copy ctor
+  AliDebug(1,Form("this=%p copy ctor",this));
   other.Copy(*this);
 }
 
@@ -75,6 +86,7 @@ AliMUONObjectPair&
 AliMUONObjectPair::operator=(const AliMUONObjectPair& other)
 {
   /// assignement operator
+  AliDebug(1,"");
   AliMUONObjectPair pair(other);
   pair.Copy(*this);
   return *this;
@@ -84,12 +96,24 @@ AliMUONObjectPair::operator=(const AliMUONObjectPair& other)
 AliMUONObjectPair::~AliMUONObjectPair()
 {
   /// dtor
+  AliDebug(1,Form("this=%p",this));
   if ( fIsOwnerOfFirst ) delete fFirst;
   if ( fIsOwnerOfSecond ) delete fSecond;
 }
 
 //_____________________________________________________________________________
 void
+AliMUONObjectPair::Clear(Option_t*)
+{
+  /// Reset
+  if ( fIsOwnerOfFirst ) delete fFirst;
+  if ( fIsOwnerOfSecond ) delete fSecond;
+  fFirst = 0x0;
+  fSecond = 0x0;
+}
+
+//_____________________________________________________________________________
+void
 AliMUONObjectPair::Copy(TObject& other) const
 {
   /// Copy this to other (used by copy ctor and operator=)
@@ -115,3 +139,31 @@ AliMUONObjectPair::Copy(TObject& other) const
     pair.fSecond = fSecond;
   }
 }
+
+//_____________________________________________________________________________
+void
+AliMUONObjectPair::Print(Option_t* opt) const
+{
+  /// Printout
+  
+  cout << "First:";
+  if ( First() ) 
+  {
+    First()->Print(opt);
+  }
+  else
+  {
+    cout << " NULL ";
+  }
+  cout << endl;
+  cout << "Second:";
+  if ( Second() ) 
+  {
+    Second()->Print(opt);
+  }
+  else
+  {
+    cout << " NULL ";
+  }
+  cout << endl;    
+}
index de946d2..8f7049f 100644 (file)
@@ -41,6 +41,10 @@ public:
 
   virtual void Copy(TObject& other) const;
   
+  virtual void Print(Option_t* opt="") const;
+  
+  virtual void Clear(Option_t* opt="");
+  
 private:
 
   TObject* fFirst; ///< first element of the pair