#include "AliMpIntPair.h"
#include "AliMpDEManager.h"
#include "AliMpConstants.h"
-#include "AliMpSegmentation.h"
+#include "AliMpCDB.h"
#include "AliLog.h"
#include "AliRunLoader.h"
+#include "AliHeader.h"
#include "AliStack.h"
+#include "AliCDBManager.h"
#include <Riostream.h>
#include <TClonesArray.h>
++fgInstanceCounter;
Open(filename);
+
+ // Load mapping
+ if ( ! AliMpCDB::LoadMpSegmentation() ) {
+ AliFatal("Could not access mapping from OCDB !");
+ }
}
//_____________________________________________________________________________
/// 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();
/// 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();
/// 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();
/// 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();
/// 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();
AliError(Form("Cannot open file %s",filename));
fIsValid = kFALSE;
}
+
+ // Get run number and set it to CDB manager
+ runLoader->LoadHeader();
+ if ( ! runLoader->GetHeader() ) {
+ AliError("Cannot load header.");
+ fIsValid = kFALSE;
+ }
+ else {
+ Int_t runNumber = runLoader->GetHeader()->GetRun();
+ AliCDBManager::Instance()->SetRun(runNumber);
+ }
+ runLoader->UnloadHeader();
+
fLoader = runLoader->GetDetectorLoader("MUON");
if (fLoader == 0x0)
{
Int_t detElem = x;
AliMUONVDigitStore* store = SDigitStore(fCurrentEvent);
if (store == 0x0) return 0x0;
- AliMpSegmentation::ReadData(kFALSE); // kFALSE so that we do not get warning message.
fIterator = store->CreateIterator(detElem, detElem, 2);
if (fIterator == 0x0) return 0x0;
fCurrentIteratorType = kSDigitIteratorByDetectorElement;
AliMUONVDigitStore* store = SDigitStore(fCurrentEvent);
if (store == 0x0) return 0x0;
- AliMpSegmentation::ReadData(kFALSE); // kFALSE so that we do not get warning message.
AliMpIntPair pair = AliMpDEManager::GetDetElemIdRange(chamber);
fIterator = store->CreateIterator(pair.GetFirst(), pair.GetSecond(), cathode);
if (fIterator == 0x0) return 0x0;
Int_t detElem = x;
AliMUONVDigitStore* store = DigitStore(fCurrentEvent);
if (store == 0x0) return 0x0;
- AliMpSegmentation::ReadData(kFALSE); // kFALSE so that we do not get warning message.
fIterator = store->CreateIterator(detElem, detElem, 2);
if (fIterator == 0x0) return 0x0;
fCurrentIteratorType = kDigitIteratorByDetectorElement;
AliMUONVDigitStore* store = DigitStore(fCurrentEvent);
if (store == 0x0) return 0x0;
- AliMpSegmentation::ReadData(kFALSE); // kFALSE so that we do not get warning message.
AliMpIntPair pair = AliMpDEManager::GetDetElemIdRange(chamber);
fIterator = store->CreateIterator(pair.GetFirst(), pair.GetSecond(), cathode);
if (fIterator == 0x0) return 0x0;