ATLAS Offline Software
Loading...
Searching...
No Matches
AuthorHierachy.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
5#include "GeoModelKernel/throwExcept.h"
6
7namespace MuonR4 {
8
9 bool AuthorHierachy::operator()(const Author a, const Author b) const {
10 return authorRank(a) < authorRank(b);
11 }
12 unsigned AuthorHierachy::authorRank(const Author author) const {
13 switch (author) {
14 using enum Author;
15 case MuidCo: return 0;
16 case MuGirl: return 1;
17 case STACO: return 2;
18 case MuTagIMO: return 3;
19
20 case CaloScore:
21 case CaloTag: return 4;
22 case MuidSA: return 5;
23 case NumberOfMuonAuthors: break;
24 default:
25 THROW_EXCEPTION("The author "<<author<<" is not supported");
26 }
27 return std::numeric_limits<unsigned>::max();
28 }
29
30}
static Double_t a
This header ties the generic definitions in this package.
bool operator()(const Author a, const Author b) const
Sorting operator between two Author values based on the author rank.
unsigned authorRank(const Author author) const
Ranks the author according to the list above.
xAOD::Muon::Author Author
#define THROW_EXCEPTION(MESSAGE)
Definition throwExcept.h:10