Skip to content
Snippets Groups Projects
Select Git revision
  • 40dc7ac477f658fadf58f62e69fb6bb5747ae400
  • master default protected
  • nightly_master
  • online_mvd_readconf_cleanup protected
  • online_much_readconf_cleanup protected
  • jul25_patches
  • cleanup_rich_v25a
  • jul24_patches
  • nov23_patches
  • DC_2404
  • nighly_master
  • DC_Jan24
  • DC_Nov23
  • DC_Oct23
  • feb23_patches
  • L1Algo-dev9
  • dec21_patches protected
  • apr21_patches protected
  • dev_2025_45
  • dev_2025_44
  • dev_2025_43
  • dev_2025_42
  • dev_2025_41
  • dev_2025_40
  • dev_2025_39
  • dev_2025_38
  • dev_2025_37
  • dev_2025_36
  • dev_2025_35
  • dev_2025_34
  • dev_2025_33
  • dev_2025_32
  • dev_2025_31
  • dev_2025_30
  • RC_jul25
  • dev_2025_29
  • dev_2025_28
  • dev_2025_27
38 results

loadlib.C

Blame
  • CbmModuleList.cxx 2.93 KiB
    /* Copyright (C) 2013-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
       SPDX-License-Identifier: GPL-3.0-only
       Authors: Volker Friese [committer], Florian Uhlig */
    
    /** @file CbmModuleList.cxx
     ** @author Volker Friese <v.friese@gsi.de>
     ** @date 13.06.2013
     **/
    #include "CbmModuleList.h"
    
    #include "CbmDefs.h"  // for ECbmModuleId enumerator
    
    #include <Logger.h>  // for LOG macro
    
    #include <utility>  // for pair
    
    using std::map;
    
    // -----   Initialisation of the list of modules   -------------------------
    map<ECbmModuleId, TString> CbmModuleList::DefineModules()
    {
      map<ECbmModuleId, TString> data;
    
      data[ECbmModuleId::kRef]      = "ref";
      data[ECbmModuleId::kMvd]      = "mvd";
      data[ECbmModuleId::kSts]      = "sts";
      data[ECbmModuleId::kRich]     = "rich";
      data[ECbmModuleId::kMuch]     = "much";
      data[ECbmModuleId::kTrd]      = "trd";
      data[ECbmModuleId::kTof]      = "tof";
      data[ECbmModuleId::kEcal]     = "ecal";
      data[ECbmModuleId::kPsd]      = "psd";
      data[ECbmModuleId::kHodo]     = "hodo";
      data[ECbmModuleId::kDummyDet] = "dummy";
      data[ECbmModuleId::kT0]       = "t0";
      data[ECbmModuleId::kMagnet]   = "magnet";
      data[ECbmModuleId::kTarget]   = "target";
      data[ECbmModuleId::kPipe]     = "pipe";
      data[ECbmModuleId::kShield]   = "shield";
      data[ECbmModuleId::kPlatform] = "platform";
      data[ECbmModuleId::kCave]     = "cave";
    
      return data;
    }
    // -------------------------------------------------------------------------
    
    
    // -----   Initialise static map -------------------------- ----------------
    // This is done by using the copy constructor of std::map, calling the
    // method DefineModules, which actually fills the static map.
    map<ECbmModuleId, TString> CbmModuleList::fModules(CbmModuleList::DefineModules());
    // -------------------------------------------------------------------------
    
    
    // ------  Get module Id from module name  ---------------------------------
    ECbmModuleId CbmModuleList::GetModuleId(const char* moduleName)
    {
    
      map<ECbmModuleId, TString>::iterator it = fModules.begin();
      while (it != fModules.end()) {
        if (!(it->second).CompareTo(moduleName, TString::kIgnoreCase)) return it->first;
        it++;
      }
      return ECbmModuleId::kNotExist;
    }
    // -------------------------------------------------------------------------
    
    
    // ------   Get module name from module Id   --------------------------------
    TString CbmModuleList::GetModuleName(ECbmModuleId moduleId)
    {
      if (fModules.find(moduleId) == fModules.end()) {
        LOG(error) << "Module List: Illegal module Id " << moduleId;
        return "";
      }
      return fModules.find(moduleId)->second;
    }
    // -------------------------------------------------------------------------
    
    
    // ------   Get module name in capitals from module Id   -------------------
    TString CbmModuleList::GetModuleNameCaps(ECbmModuleId moduleId)
    {
      TString name = GetModuleName(moduleId);
      name.ToUpper();
      return name;
    }
    // -------------------------------------------------------------------------