ATLAS Offline Software
CTPTriggerItem.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef TRIGT1CTP_CTPTRIGGERITEM_H
7 #define TRIGT1CTP_CTPTRIGGERITEM_H
8 
9 #include "TrigConfData/Logic.h"
11 
12 #include <map>
13 #include <string>
14 #include <memory>
15 
16 
17 namespace LVL1CTP {
18 
24 
25  public:
30 
31  // setters and getters for member variables
32  void setLogic(const std::string & logicExpr);
33  const std::shared_ptr<TrigConf::Logic> & logic() const;
34 
35  void setBunchGroups(const std::vector<std::string> & bunchGroups);
36  const std::vector<std::string> & bunchGroups() const;
37 
38  void setCtpId( unsigned int ctpid );
39  unsigned int ctpId() const;
40 
41  void setName( const std::string & name );
42  const std::string & name() const;
43 
44  void setTriggerType(unsigned char triggerType);
45  unsigned char triggerType() const;
46 
47  void setPrescale(int prescale);
48  int prescale() const;
49 
50  bool evaluate( const std::map<std::string, unsigned int> & thrDecMap ) const;
51 
52 
53  private:
54  std::string m_name { "" };
55  unsigned int m_ctpid { 1 };
56  unsigned char m_TriggerType { 0 };
57  int m_prescale { 1 };
58  std::shared_ptr<TrigConf::Logic> m_logic;
59  std::vector<std::string> m_bunchGroups;
60  };
61 
62 }
63 
64 #endif
LVL1CTP::CTPTriggerItem
Class storing information helping to make the CTP decision.
Definition: CTPTriggerItem.h:23
LVL1CTP::CTPTriggerItem::m_bunchGroups
std::vector< std::string > m_bunchGroups
the list of bunchgroups forming this item
Definition: CTPTriggerItem.h:59
TriggerItem.h
LVL1CTP::CTPTriggerItem::~CTPTriggerItem
~CTPTriggerItem()
default destructor
Definition: CTPTriggerItem.cxx:14
LVL1CTP::CTPTriggerItem::setLogic
void setLogic(const std::string &logicExpr)
Definition: CTPTriggerItem.cxx:60
LVL1CTP::CTPTriggerItem::setName
void setName(const std::string &name)
Definition: CTPTriggerItem.cxx:29
LVL1CTP::CTPTriggerItem::evaluate
bool evaluate(const std::map< std::string, unsigned int > &thrDecMap) const
Definition: CTPTriggerItem.cxx:83
LVL1CTP::CTPTriggerItem::m_TriggerType
unsigned char m_TriggerType
8 bit trigger type (4 bit for secondary partitions)
Definition: CTPTriggerItem.h:56
LVL1CTP::CTPTriggerItem::prescale
int prescale() const
Definition: CTPTriggerItem.cxx:24
LVL1CTP::CTPTriggerItem::triggerType
unsigned char triggerType() const
Definition: CTPTriggerItem.cxx:55
LVL1CTP::CTPTriggerItem::setBunchGroups
void setBunchGroups(const std::vector< std::string > &bunchGroups)
Definition: CTPTriggerItem.cxx:72
LVL1CTP::CTPTriggerItem::bunchGroups
const std::vector< std::string > & bunchGroups() const
Definition: CTPTriggerItem.cxx:77
LVL1CTP::CTPTriggerItem::setTriggerType
void setTriggerType(unsigned char triggerType)
Definition: CTPTriggerItem.cxx:50
LVL1CTP::CTPTriggerItem::m_name
std::string m_name
item name
Definition: CTPTriggerItem.h:54
LVL1CTP::CTPTriggerItem::name
const std::string & name() const
Definition: CTPTriggerItem.cxx:35
LVL1CTP::CTPTriggerItem::setPrescale
void setPrescale(int prescale)
Definition: CTPTriggerItem.cxx:18
Logic.h
LVL1CTP::CTPTriggerItem::setCtpId
void setCtpId(unsigned int ctpid)
Definition: CTPTriggerItem.cxx:45
LVL1CTP::CTPTriggerItem::ctpId
unsigned int ctpId() const
Definition: CTPTriggerItem.cxx:40
LVL1CTP::CTPTriggerItem::m_ctpid
unsigned int m_ctpid
CTPID.
Definition: CTPTriggerItem.h:55
LVL1CTP
Definition: Lvl1ResultAccessTool.h:20
LVL1CTP::CTPTriggerItem::logic
const std::shared_ptr< TrigConf::Logic > & logic() const
Definition: CTPTriggerItem.cxx:67
LVL1CTP::CTPTriggerItem::m_prescale
int m_prescale
prescale value
Definition: CTPTriggerItem.h:57
LVL1CTP::CTPTriggerItem::m_logic
std::shared_ptr< TrigConf::Logic > m_logic
the definition of the item turned into a Logic object
Definition: CTPTriggerItem.h:58
LVL1CTP::CTPTriggerItem::CTPTriggerItem
CTPTriggerItem()
constructor setting trigger item and corresponding prescale
Definition: CTPTriggerItem.cxx:11