4 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
6 /**************************************************************************
7 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
8 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
9 * full copyright notice. *
10 **************************************************************************/
12 #include "AliEveHOMERSourceList.h"
13 #include "AliEveHOMERSourceMap.h"
14 #include "AliEveHOMERManager.h"
16 //______________________________________________________________________________
17 // AliEveHOMERSourceList
20 ClassImp(AliEveHOMERSourceList)
22 AliEveHOMERSourceList::AliEveHOMERSourceList(const Text_t* n, const Text_t* t) :
23 TEveElementList(n, t),
30 AliEveHOMERSourceList::~AliEveHOMERSourceList()
35 /******************************************************************************/
37 void AliEveHOMERSourceList::CreateByDet()
40 fSrcMap = AliEveHOMERSourceMap::Create(AliEveHOMERSourceMap::kSG_ByDet);
44 void AliEveHOMERSourceList::CreateByType()
47 fSrcMap = AliEveHOMERSourceMap::Create(AliEveHOMERSourceMap::kSG_ByType);
51 void AliEveHOMERSourceList::RebuildSourceReps()
54 TList* srcList = fManager->GetSourceList();
55 fSrcMap->FillMap(srcList, 1);
58 parentStack.push_back(this);
60 for (AliEveHOMERSourceMap::iterator i=fSrcMap->begin(); i!=fSrcMap->end(); ++i)
62 while (parentLvl > i.level()) { parentStack.pop_back(); --parentLvl; }
64 AliEveHOMERSource* src = new AliEveHOMERSource(i.description());
65 src->SetSource(&i.id(), &i.state());
67 parentStack.back()->AddElement(src);
69 parentStack.push_back(src); ++parentLvl;
71 printf("%*s%s [state=%d, handle=0x%lx] {ssdet='%s'}\n", 4*i.level(), "",
72 i.description().Data(), i.state().fState,
73 (ULong_t) i.state().fHandle,
74 i.id().fSSDet.Data());
81 Bool_t AliEveHOMERSourceList::GetSelectedSources() {
82 // Set selected source in HOMER sources list, of HOMERManager
85 printf ( "Error : no ptr to HomerManager!");
90 Bool_t bResult = kFALSE;
92 for ( AliEveHOMERSourceMap::iterator iter=fSrcMap->begin(); iter!=fSrcMap->end(); ++iter ) {
94 if ( ! iter.state().fHandle )
97 fManager->SetSourceState( (AliHLTHOMERSourceDesc*) iter.state().fHandle,iter.state().fState );
101 printf("%*s%s [state=%d, handle=0x%lx] {ssdet='%s'}\n", 4*iter.level(), "",
102 iter.description().Data(), iter.state().fState,
103 (ULong_t) iter.state().fHandle,
104 iter.id().fSSDet.Data());
117 /******************************************************************************/
119 void AliEveHOMERSourceList::SelectAll()
121 EnableListElements(kTRUE, kTRUE);
124 void AliEveHOMERSourceList::DeselectAll()
126 DisableListElements (kFALSE, kFALSE);