2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
4 /**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
10 #include "AliEveHOMERSourceMap.h"
12 //______________________________________________________________________
14 // AliEveHOMERSourceMap is an abstract container for HLT HOMER sources,
15 // see AliHLTHOMERSourceDesc.
17 // The concrete implementations AliEveHOMERSourceMapByDet and
18 // AliEveHOMERSourceMapByType allow retrieval of HOMER sources in proper
19 // order as required for their display in EVE object browser.
22 ClassImp(AliEveHOMERSourceMap)
24 AliEveHOMERSourceMap::AliEveHOMERSourceMap(ESourceGrouping_e grouping) :
30 AliEveHOMERSourceMap* AliEveHOMERSourceMap::Create(ESourceGrouping_e grouping)
32 // Static constructor - instantiates appropriate sub-class.
36 case kSG_ByDet: return new AliEveHOMERSourceMapByDet(grouping);
37 case kSG_ByType: return new AliEveHOMERSourceMapByType(grouping);
42 Int_t AliEveHOMERSourceMap::iterator::level()
44 // Returns the depth in iteration:
45 // Det / Sub-Det / Sub-Sub-Det / Data-Type.
47 const AliEveHOMERSource::SourceId& sid = id();
50 if ( ! sid.fDet.IsNull()) ++lvl;
51 if ( ! sid.fSDet.IsNull()) ++lvl;
52 if ( ! sid.fSSDet.IsNull()) ++lvl;
53 if ( ! sid.fType.IsNull()) ++lvl;
57 void AliEveHOMERSourceMap::PrintXXX()
59 // Print entries in the map.
61 for (iterator i = begin(); i != end(); ++i)
63 printf("%*s%s [state=%d, handle=0x%lx] {ssdet='%s'}\n", 4*i.level(), "",
64 i.description().Data(), i.state().fState,
65 (ULong_t) i.state().fHandle,
66 i.id().fSSDet.Data());