ATLAS Offline Software
L1CaloModuleType.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef L1CALOMODULETYPE_H
6 #define L1CALOMODULETYPE_H
7 
8 #include <iostream>
9 #include <string>
10 
11 class L1CaloModuleType final {
12 public:
13 
14  // Values: L1Calo trigger modules, common CERN modules and test modules.
16  None = 0,
18  };
19 
20  // Construction
22  L1CaloModuleType(const std::string& mTypeName);
23  L1CaloModuleType(const L1CaloModuleType& mType);
25  ~L1CaloModuleType() = default;
26 
27  // Information
28  const std::string toString() const;
29 
30  // Comparison
31  bool operator==(const L1CaloModuleEnum mEnum) const;
32  bool operator==(const L1CaloModuleType& mType) const;
33  bool operator!=(const L1CaloModuleEnum mEnum) const { return !((*this) == mEnum); }
34  bool operator!=(const L1CaloModuleType& mType) const { return !((*this) == mType); }
35 
36  operator unsigned int() {return (unsigned int) this->moduleEnum();};
37 
38 private:
39  // Access to data members
40  L1CaloModuleEnum moduleEnum() const { return m_type; }
41 
42  // Data members
44 };
45 
46 // Global operator
47 //ostream& operator<< (ostream& s, const L1CaloModuleType& m);
48 
49 #endif // L1CALOMODULETYPE_H
L1CaloModuleType::Cmm
@ Cmm
Definition: L1CaloModuleType.h:17
L1CaloModuleType::Cam
@ Cam
Definition: L1CaloModuleType.h:17
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
L1CaloModuleType::operator=
L1CaloModuleType & operator=(const L1CaloModuleType &mType)
Assign a L1CaloModuleType.
Definition: L1CaloModuleType.cxx:69
L1CaloModuleType::Lrm
@ Lrm
Definition: L1CaloModuleType.h:17
L1CaloModuleType::L1CaloModuleEnum
L1CaloModuleEnum
Definition: L1CaloModuleType.h:15
L1CaloModuleType
Definition: L1CaloModuleType.h:11
L1CaloModuleType::Lsm
@ Lsm
Definition: L1CaloModuleType.h:17
L1CaloModuleType::Tcm
@ Tcm
Definition: L1CaloModuleType.h:17
L1CaloModuleType::operator!=
bool operator!=(const L1CaloModuleType &mType) const
Definition: L1CaloModuleType.h:34
L1CaloModuleType::Jem
@ Jem
Definition: L1CaloModuleType.h:17
L1CaloModuleType::m_type
L1CaloModuleEnum m_type
Definition: L1CaloModuleType.h:43
L1CaloModuleType::operator==
bool operator==(const L1CaloModuleEnum mEnum) const
Compare with type value.
Definition: L1CaloModuleType.cxx:113
L1CaloModuleType::L1CaloBusy
@ L1CaloBusy
Definition: L1CaloModuleType.h:17
L1CaloModuleType::Dss
@ Dss
Definition: L1CaloModuleType.h:17
L1CaloModuleType::operator!=
bool operator!=(const L1CaloModuleEnum mEnum) const
Definition: L1CaloModuleType.h:33
L1CaloModuleType::L1CaloLtp
@ L1CaloLtp
Definition: L1CaloModuleType.h:17
L1CaloModuleType::Cpm
@ Cpm
Definition: L1CaloModuleType.h:17
L1CaloModuleType::L1CaloRod
@ L1CaloRod
Definition: L1CaloModuleType.h:17
L1CaloModuleType::Ppm
@ Ppm
Definition: L1CaloModuleType.h:17
L1CaloModuleType::L1CaloLtpi
@ L1CaloLtpi
Definition: L1CaloModuleType.h:17
L1CaloModuleType::toString
const std::string toString() const
Compare with type value.
Definition: L1CaloModuleType.cxx:82
L1CaloModuleType::L1CaloModuleType
L1CaloModuleType(const L1CaloModuleEnum mEnum)
Construct a L1CaloModuleType given its type value.
Definition: L1CaloModuleType.cxx:20
L1CaloModuleType::None
@ None
Definition: L1CaloModuleType.h:16
L1CaloModuleType::moduleEnum
L1CaloModuleEnum moduleEnum() const
Definition: L1CaloModuleType.h:40
L1CaloModuleType::Ttcvi
@ Ttcvi
Definition: L1CaloModuleType.h:17
L1CaloModuleType::~L1CaloModuleType
~L1CaloModuleType()=default
L1CaloModuleType::L1CaloRosInterface
@ L1CaloRosInterface
Definition: L1CaloModuleType.h:17
L1CaloModuleType::CtpEmulation
@ CtpEmulation
Definition: L1CaloModuleType.h:17