#include "AliEveHOMERSourceList.h"
#include "AliEveHOMERSourceMap.h"
#include "AliEveHOMERManager.h"
ClassImp(AliEveHOMERSourceList)
AliEveHOMERSourceList::AliEveHOMERSourceList(const Text_t* n, const Text_t* t) :
TEveElementList(n, t),
fManager (0),
fSrcMap (0)
{
}
AliEveHOMERSourceList::~AliEveHOMERSourceList()
{
}
void AliEveHOMERSourceList::CreateByDet()
{
delete fSrcMap;
fSrcMap = AliEveHOMERSourceMap::Create(AliEveHOMERSourceMap::kSG_ByDet);
RebuildSourceReps();
}
void AliEveHOMERSourceList::CreateByType()
{
delete fSrcMap;
fSrcMap = AliEveHOMERSourceMap::Create(AliEveHOMERSourceMap::kSG_ByType);
RebuildSourceReps();
}
void AliEveHOMERSourceList::RebuildSourceReps()
{
DestroyElements();
TList* srcList = fManager->GetSourceList();
fSrcMap->FillMap(srcList, 1);
List_t parentStack;
parentStack.push_back(this);
Int_t parentLvl = 1;
for (AliEveHOMERSourceMap::iterator i=fSrcMap->begin(); i!=fSrcMap->end(); ++i)
{
while (parentLvl > i.level()) { parentStack.pop_back(); --parentLvl; }
AliEveHOMERSource* src = new AliEveHOMERSource(i.description());
src->SetSource(&i.id(), &i.state());
parentStack.back()->AddElement(src);
parentStack.push_back(src); ++parentLvl;
printf("%*s%s [state=%d, handle=0x%lx] {ssdet='%s'}\n", 4*i.level(), "",
i.description().Data(), i.state().fState,
(ULong_t) i.state().fHandle,
i.id().fSSDet.Data());
}
}
Bool_t AliEveHOMERSourceList::GetSelectedSources() {
if ( ! fManager ) {
printf ( "Error : no ptr to HomerManager!");
return kFALSE;
}
Bool_t bResult = kFALSE;
for ( AliEveHOMERSourceMap::iterator iter=fSrcMap->begin(); iter!=fSrcMap->end(); ++iter ) {
if ( ! iter.state().fHandle )
continue;
fManager->SetSourceState( (AliHLTHOMERSourceDesc*) iter.state().fHandle,iter.state().fState );
bResult = kTRUE;
#if 0 // EVE_DEBUG
printf("%*s%s [state=%d, handle=0x%lx] {ssdet='%s'}\n", 4*iter.level(), "",
iter.description().Data(), iter.state().fState,
(ULong_t) iter.state().fHandle,
iter.id().fSSDet.Data());
#endif
}
return bResult;
}
AliEveHOMERSourceList.cxx:1 AliEveHOMERSourceList.cxx:2 AliEveHOMERSourceList.cxx:3 AliEveHOMERSourceList.cxx:4 AliEveHOMERSourceList.cxx:5 AliEveHOMERSourceList.cxx:6 AliEveHOMERSourceList.cxx:7 AliEveHOMERSourceList.cxx:8 AliEveHOMERSourceList.cxx:9 AliEveHOMERSourceList.cxx:10 AliEveHOMERSourceList.cxx:11 AliEveHOMERSourceList.cxx:12 AliEveHOMERSourceList.cxx:13 AliEveHOMERSourceList.cxx:14 AliEveHOMERSourceList.cxx:15 AliEveHOMERSourceList.cxx:16 AliEveHOMERSourceList.cxx:17 AliEveHOMERSourceList.cxx:18 AliEveHOMERSourceList.cxx:19 AliEveHOMERSourceList.cxx:20 AliEveHOMERSourceList.cxx:21 AliEveHOMERSourceList.cxx:22 AliEveHOMERSourceList.cxx:23 AliEveHOMERSourceList.cxx:24 AliEveHOMERSourceList.cxx:25 AliEveHOMERSourceList.cxx:26 AliEveHOMERSourceList.cxx:27 AliEveHOMERSourceList.cxx:28 AliEveHOMERSourceList.cxx:29 AliEveHOMERSourceList.cxx:30 AliEveHOMERSourceList.cxx:31 AliEveHOMERSourceList.cxx:32 AliEveHOMERSourceList.cxx:33 AliEveHOMERSourceList.cxx:34 AliEveHOMERSourceList.cxx:35 AliEveHOMERSourceList.cxx:36 AliEveHOMERSourceList.cxx:37 AliEveHOMERSourceList.cxx:38 AliEveHOMERSourceList.cxx:39 AliEveHOMERSourceList.cxx:40 AliEveHOMERSourceList.cxx:41 AliEveHOMERSourceList.cxx:42 AliEveHOMERSourceList.cxx:43 AliEveHOMERSourceList.cxx:44 AliEveHOMERSourceList.cxx:45 AliEveHOMERSourceList.cxx:46 AliEveHOMERSourceList.cxx:47 AliEveHOMERSourceList.cxx:48 AliEveHOMERSourceList.cxx:49 AliEveHOMERSourceList.cxx:50 AliEveHOMERSourceList.cxx:51 AliEveHOMERSourceList.cxx:52 AliEveHOMERSourceList.cxx:53 AliEveHOMERSourceList.cxx:54 AliEveHOMERSourceList.cxx:55 AliEveHOMERSourceList.cxx:56 AliEveHOMERSourceList.cxx:57 AliEveHOMERSourceList.cxx:58 AliEveHOMERSourceList.cxx:59 AliEveHOMERSourceList.cxx:60 AliEveHOMERSourceList.cxx:61 AliEveHOMERSourceList.cxx:62 AliEveHOMERSourceList.cxx:63 AliEveHOMERSourceList.cxx:64 AliEveHOMERSourceList.cxx:65 AliEveHOMERSourceList.cxx:66 AliEveHOMERSourceList.cxx:67 AliEveHOMERSourceList.cxx:68 AliEveHOMERSourceList.cxx:69 AliEveHOMERSourceList.cxx:70 AliEveHOMERSourceList.cxx:71 AliEveHOMERSourceList.cxx:72 AliEveHOMERSourceList.cxx:73 AliEveHOMERSourceList.cxx:74 AliEveHOMERSourceList.cxx:75 AliEveHOMERSourceList.cxx:76 AliEveHOMERSourceList.cxx:77 AliEveHOMERSourceList.cxx:78 AliEveHOMERSourceList.cxx:79 AliEveHOMERSourceList.cxx:80 AliEveHOMERSourceList.cxx:81 AliEveHOMERSourceList.cxx:82 AliEveHOMERSourceList.cxx:83 AliEveHOMERSourceList.cxx:84 AliEveHOMERSourceList.cxx:85 AliEveHOMERSourceList.cxx:86 AliEveHOMERSourceList.cxx:87 AliEveHOMERSourceList.cxx:88 AliEveHOMERSourceList.cxx:89 AliEveHOMERSourceList.cxx:90 AliEveHOMERSourceList.cxx:91 AliEveHOMERSourceList.cxx:92 AliEveHOMERSourceList.cxx:93 AliEveHOMERSourceList.cxx:94 AliEveHOMERSourceList.cxx:95 AliEveHOMERSourceList.cxx:96 AliEveHOMERSourceList.cxx:97 AliEveHOMERSourceList.cxx:98 AliEveHOMERSourceList.cxx:99 AliEveHOMERSourceList.cxx:100 AliEveHOMERSourceList.cxx:101 AliEveHOMERSourceList.cxx:102 AliEveHOMERSourceList.cxx:103 AliEveHOMERSourceList.cxx:104 AliEveHOMERSourceList.cxx:105 AliEveHOMERSourceList.cxx:106 AliEveHOMERSourceList.cxx:107 AliEveHOMERSourceList.cxx:108 AliEveHOMERSourceList.cxx:109 AliEveHOMERSourceList.cxx:110 AliEveHOMERSourceList.cxx:111 AliEveHOMERSourceList.cxx:112 AliEveHOMERSourceList.cxx:113 AliEveHOMERSourceList.cxx:114 AliEveHOMERSourceList.cxx:115 AliEveHOMERSourceList.cxx:116 AliEveHOMERSourceList.cxx:117 AliEveHOMERSourceList.cxx:118 AliEveHOMERSourceList.cxx:119 AliEveHOMERSourceList.cxx:120 AliEveHOMERSourceList.cxx:121 AliEveHOMERSourceList.cxx:122 AliEveHOMERSourceList.cxx:123 AliEveHOMERSourceList.cxx:124 AliEveHOMERSourceList.cxx:125 AliEveHOMERSourceList.cxx:126 AliEveHOMERSourceList.cxx:127 AliEveHOMERSourceList.cxx:128