/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
FWCore/Utilities/interface/Transition.h
46 строк
2 KB
W. David Dagenhart
Print ES module dependences from Tracer
12 фев 2025, 22:47
12 фев 2025, 22:47
57670a8
Код
Авторство
О чём код?
#ifndef FWCore_Utilities_Transition_h #define FWCore_Utilities_Transition_h /*---------------------------------------------------------------------- Transition: The allowed framework transitions ----------------------------------------------------------------------*/ #include "FWCore/Utilities/interface/BranchType.h" #include <type_traits> namespace edm { enum class Transition { Event, BeginLuminosityBlock, EndLuminosityBlock, BeginRun, EndRun, BeginProcessBlock, EndProcessBlock, AccessInputProcessBlock, NumberOfTransitions, NumberOfEventSetupTransitions = BeginProcessBlock }; constexpr unsigned int kNumberOfEventSetupTransitions = static_cast<unsigned int>(Transition::NumberOfEventSetupTransitions); //Useful for converting EndBranchType to BranchType constexpr BranchType convertToBranchType(Transition iValue) { constexpr BranchType branches[] = {InEvent, InLumi, InLumi, InRun, InRun, InProcess, InProcess}; return branches[static_cast<std::underlying_type<Transition>::type>(iValue)]; } constexpr Transition convertToTransition(BranchType iValue) { constexpr Transition trans[] = { Transition::Event, Transition::BeginLuminosityBlock, Transition::BeginRun, Transition::BeginProcessBlock}; return trans[iValue]; } constexpr bool isEndTransition(Transition iValue) { return iValue == Transition::EndLuminosityBlock or iValue == Transition::EndRun or iValue == Transition::EndProcessBlock; } } // namespace edm #endif