]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- Fixed unnecessary reset of all the stores within when traversing
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 28 Nov 2007 12:12:32 +0000 (12:12 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 28 Nov 2007 12:12:32 +0000 (12:12 +0000)
  the track list with AliMUONMCDataInterface::HitStore.
- Some minor improvements in the other methods on similar lines
(Artur)

MUON/AliMUONMCDataInterface.cxx

index f674db6a43a52d18031456b3a577881e66c63cbb..2a42ec8a3e969fcd3e2e7baf0de91ec6ea2ecf8a 100644 (file)
@@ -110,14 +110,17 @@ AliMUONMCDataInterface::HitStore(Int_t event, Int_t track)
   /// Returned pointer should not be deleted
   
   if (not IsValid()) return 0x0;
-  if (event == fCurrentEvent
-      and fDataX == track  // using fDataX as track number.
-      and fHitStore != 0x0
-     )
+
+  if (event == fCurrentEvent)
+  {
+    if (track == fDataX and fHitStore != 0x0)  // using fDataX as track number.
       return fHitStore;
-  
-  ResetStores();
-  if (not LoadEvent(event)) return 0x0;
+  }
+  else
+  {
+    ResetStores();
+    if ( not LoadEvent(event) ) return 0x0;
+  }
   
   fLoader->LoadHits();
   
@@ -156,10 +159,17 @@ AliMUONMCDataInterface::SDigitStore(Int_t event)
   /// Returned pointer should not be deleted
   
   if (not IsValid()) return 0x0;
-  if (event == fCurrentEvent and fSDigitStore != 0x0) return fSDigitStore;
   
-  ResetStores();
-  if (not LoadEvent(event)) return 0x0;
+  if (event == fCurrentEvent)
+  {
+    if (fSDigitStore != 0x0)
+      return fSDigitStore;
+  }
+  else
+  {
+    ResetStores();
+    if ( not LoadEvent(event) ) return 0x0;
+  }
   
   fLoader->LoadSDigits();
   
@@ -191,10 +201,17 @@ AliMUONMCDataInterface::DigitStore(Int_t event)
   /// Returned pointer should not be deleted
   
   if (not IsValid()) return 0x0;
-  if (event == fCurrentEvent and fDigitStore != 0x0) return fDigitStore;
   
-  ResetStores();
-  if (not LoadEvent(event)) return 0x0;
+  if (event == fCurrentEvent)
+  {
+    if (fDigitStore != 0x0)
+      return fDigitStore;
+  }
+  else
+  {
+    ResetStores();
+    if ( not LoadEvent(event) ) return 0x0;
+  }
   
   fLoader->LoadDigits();
   
@@ -246,16 +263,18 @@ AliMUONMCDataInterface::TrackRefs(Int_t event, Int_t track)
   /// Returned pointer should not be deleted
   
   if ( not IsValid() ) return 0x0;
-
-  if (event != fCurrentEvent)
+  
+  if (event == fCurrentEvent)
+  {
+    if (track == fDataX and fTrackRefs != 0x0)  // using fDataX as track number.
+      return fTrackRefs;
+  }
+  else
   {
     ResetStores();
     if ( not LoadEvent(event) ) return 0x0;
   }
   
-  if (track == fDataX)  // using fDataX as track number.
-    return fTrackRefs;
-  
   fLoader->GetRunLoader()->LoadTrackRefs();
   
   TTree* treeTR = fLoader->GetRunLoader()->TreeTR();
@@ -291,10 +310,17 @@ AliMUONMCDataInterface::TriggerStore(Int_t event)
   /// Returned pointer should not be deleted.
   
   if (not IsValid()) return 0x0;
-  if (event == fCurrentEvent and fTriggerStore != 0x0) return fTriggerStore;
   
-  ResetStores();
-  if (not LoadEvent(event)) return 0x0;
+  if (event == fCurrentEvent)
+  {
+    if (fTriggerStore != 0x0)
+      return fTriggerStore;
+  }
+  else
+  {
+    ResetStores();
+    if ( not LoadEvent(event) ) return 0x0;
+  }
   
   fLoader->LoadDigits();