]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/EveHLT/AliEveHOMERSourceMap.cxx
Updates, making buffer and managers aware of each others work
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveHOMERSourceMap.cxx
index e7aef31f79b07d0008a76957e6526868534b45ca..ad92fed5ff437f3e189dbbb03b248afa425b9c86 100644 (file)
@@ -8,24 +8,29 @@
  **************************************************************************/
 
 #include "AliEveHOMERSourceMap.h"
-#include <AliHLTHOMERSourceDesc.h>
-
-#include <TList.h>
 
 //______________________________________________________________________
-// AliEveHOMERSourceMap
 //
+// AliEveHOMERSourceMap is an abstract container for HLT HOMER sources,
+// see AliHLTHOMERSourceDesc.
+//
+// The concrete implementations AliEveHOMERSourceMapByDet and
+// AliEveHOMERSourceMapByType allow retrieval of HOMER sources in proper
+// order as required for their display in EVE object browser.
+// 
 
 ClassImp(AliEveHOMERSourceMap)
 
 AliEveHOMERSourceMap::AliEveHOMERSourceMap(ESourceGrouping_e grouping) :
   fGrouping(grouping)
 {
-
+  // Constructor.
 }
 
 AliEveHOMERSourceMap* AliEveHOMERSourceMap::Create(ESourceGrouping_e grouping)
 {
+  // Static constructor - instantiates appropriate sub-class.
+
   switch (grouping)
   {
     case kSG_ByDet:  return new AliEveHOMERSourceMapByDet(grouping);
@@ -36,6 +41,9 @@ AliEveHOMERSourceMap* AliEveHOMERSourceMap::Create(ESourceGrouping_e grouping)
 
 Int_t AliEveHOMERSourceMap::iterator::level()
 {
+  // Returns the depth in iteration:
+  // Det / Sub-Det / Sub-Sub-Det / Data-Type.
+
   const AliEveHOMERSource::SourceId& sid = id();
 
   Int_t lvl = 0;
@@ -48,6 +56,8 @@ Int_t AliEveHOMERSourceMap::iterator::level()
 
 void AliEveHOMERSourceMap::PrintXXX()
 {
+  // Print entries in the map.
+
   for (iterator i = begin(); i != end(); ++i)
   {
     printf("%*s%s [state=%d, handle=0x%lx] {ssdet='%s'}\n", 4*i.level(), "",
@@ -56,130 +66,3 @@ void AliEveHOMERSourceMap::PrintXXX()
           i.id().fSSDet.Data());
   }
 }
-
-/******************************************************************************/
-// AliEveHOMERSourceMapByDet
-/******************************************************************************/
-
-AliEveHOMERSourceMapByDet::AliEveHOMERSourceMapByDet(ESourceGrouping_e grouping) :
-  AliEveHOMERSourceMap(grouping),
-  fMap()
-{}
-
-TString AliEveHOMERSourceMapByDet::iterator_imp::description()
-{
-  const AliEveHOMERSource::SourceId& sid = id();
-
-  if ( ! sid.fType.IsNull())  return sid.fType;
-  if ( ! sid.fSSDet.IsNull()) return sid.fSSDet;
-  if ( ! sid.fSDet.IsNull())  return sid.fSDet;
-  if ( ! sid.fDet.IsNull())   return sid.fDet;
-  return "<empty>";
-}
-
-void AliEveHOMERSourceMapByDet::insert(AliEveHOMERSource::SourceId& sid,
-                                      AliEveHOMERSource::SourceState& sst,
-                                      Bool_t def_state)
-{
-  Map_i i = fMap.find(sid);
-  if (i == fMap.end())
-  {
-    // Check wildcard, else
-    sst.fState = def_state;
-    fMap.insert(std::make_pair(sid, sst));
-  }
-}
-
-void AliEveHOMERSourceMapByDet::FillMap(TList* handles, Bool_t def_state)
-{
-  TIter next(handles);
-  AliHLTHOMERSourceDesc* h;
-  while ((h = (AliHLTHOMERSourceDesc*) next()))
-  {
-    AliEveHOMERSource::SourceId    srcid;
-    AliEveHOMERSource::SourceState srcst;
-
-    srcid.fDet = h->GetDetector();
-    insert(srcid, srcst, def_state);
-
-    srcid.fSDet = h->GetSubDetector();
-    if ( ! srcid.fSDet.IsNull())  insert(srcid, srcst, def_state);
-
-    srcid.fSSDet = h->GetSubSubDetector();
-    if ( ! srcid.fSSDet.IsNull()) insert(srcid, srcst, def_state);
-
-    srcid.fType   = h->GetDataType();
-    srcst.fHandle = h;
-    insert(srcid, srcst, def_state);
-  }
-}
-
-
-/******************************************************************************/
-// AliEveHOMERSourceMapByType
-/******************************************************************************/
-
-AliEveHOMERSourceMapByType::AliEveHOMERSourceMapByType(ESourceGrouping_e grouping) :
-  AliEveHOMERSourceMap(grouping),
-  fMap()
-{}
-
-TString AliEveHOMERSourceMapByType::iterator_imp::description()
-{
-  const AliEveHOMERSource::SourceId& sid = id();
-
-  if ( ! sid.fSSDet.IsNull()) return sid.fSSDet;
-  if ( ! sid.fSDet.IsNull())  return sid.fSDet;
-  if ( ! sid.fDet.IsNull())   return sid.fDet;
-  if ( ! sid.fType.IsNull())  return sid.fType;
-  return "<empty>";
-}
-
-void AliEveHOMERSourceMapByType::insert(AliEveHOMERSource::SourceId& sid,
-                                       AliEveHOMERSource::SourceState& sst,
-                                       Bool_t def_state)
-{
-  Map_i i = fMap.find(sid);
-  if (i == fMap.end())
-  {
-    // Check wildcard, else
-    sst.fState = def_state;
-    fMap.insert(std::make_pair(sid, sst));
-  }
-}
-
-void AliEveHOMERSourceMapByType::FillMap(TList* handles, Bool_t def_state)
-{
-  TIter next(handles);
-  AliHLTHOMERSourceDesc* h;
-  while ((h = (AliHLTHOMERSourceDesc*) next()))
-  {
-    AliEveHOMERSource::SourceId    srcid;
-    AliEveHOMERSource::SourceState srcst;
-
-    srcid.fType   = h->GetDataType();
-    insert(srcid, srcst, def_state);
-
-    srcid.fDet = h->GetDetector();
-    if (h->GetSubDetector().IsNull())
-    {
-      srcst.fHandle = h;
-      insert(srcid, srcst, def_state);
-      continue;
-    }
-    insert(srcid, srcst, def_state);
-
-    srcid.fSDet = h->GetSubDetector();
-    if (h->GetSubSubDetector().IsNull())
-    {
-      srcst.fHandle = h;
-      insert(srcid, srcst, def_state);
-      continue;
-    }
-    insert(srcid, srcst, def_state);
-
-    srcid.fSSDet  = h->GetSubSubDetector();
-    srcst.fHandle = h;
-    insert(srcid, srcst, def_state);
-  }
-}