ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigSteeringEvent
TrigSteeringEvent
Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGSTEERINGEVENT_TRIGPASSBITS_H
6
#define TRIGSTEERINGEVENT_TRIGPASSBITS_H
7
8
#include <vector>
9
#include <algorithm>
10
#include <stdexcept>
11
12
#include "
xAODCore/CLASS_DEF.h
"
13
14
15
class
TrigPassBits
{
16
public
:
17
TrigPassBits
();
18
25
TrigPassBits
(
unsigned
sz
,
const
void
*cont=0);
26
31
void
markPassing
(
unsigned
position,
const
void
*cont=0 );
32
37
bool
isPassing
(
unsigned
position )
const
;
38
42
unsigned
int
size
()
const
{
return
m_decisions
.size(); }
43
44
private
:
45
friend
class
TrigPassBitsCnv_p1
;
46
const
void
*
m_container_ptr
;
47
std::vector<bool>
m_decisions
;
48
};
49
50
CLASS_DEF
(
TrigPassBits
, 188050889 , 1 )
51
52
namespace
HLT
{
53
54
template
<
class
CONTAINER>
55
TrigPassBits
*
makeTrigPassBits
(
const
CONTAINER* cont) {
56
return
new
TrigPassBits
(cont->size(), (
const
void
*)cont );
57
}
58
59
60
66
template
<
class
T,
class
CONTAINER>
67
void
markPassing
(
TrigPassBits
*bits,
const
T* obj,
const
CONTAINER* container) {
68
typename
CONTAINER::const_iterator i = std::find(container->begin(), container->end(), obj);
69
if
( i != container->end() )
70
bits->
markPassing
(i-container->begin(), container);
71
else
72
throw
std::runtime_error(
"When marking object as passing the trigger found object not from container"
);
73
}
74
75
79
template
<
class
T,
class
CONTAINER>
80
bool
isPassing
(
const
TrigPassBits
*bits,
const
T* obj,
const
CONTAINER* container) {
81
typename
CONTAINER::const_iterator i = std::find(container->begin(), container->end(), obj);
82
if
( i != container->end() )
83
return
bits->
isPassing
(i-container->begin());
84
else
85
throw
std::runtime_error(
"When checking that object passed the trigger found object not from container"
);
86
return
false
;
87
}
88
}
// eof HLT namespace
89
90
91
#endif
// TrigSteeringEvent_TrigPassBits_h
92
93
94
95
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
CLASS_DEF.h
File providing the different SG_BASE macros.
sz
static Double_t sz
Definition
LArPhysWaveHECTool.cxx:37
TrigPassBits
Definition
Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h:15
TrigPassBits::m_container_ptr
const void * m_container_ptr
Definition
Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h:46
TrigPassBits::isPassing
bool isPassing(unsigned position) const
Check the bit value a the position.
Definition
TrigPassBits.cxx:23
TrigPassBits::markPassing
void markPassing(unsigned position, const void *cont=0)
Set the bit value a the position to true.
Definition
TrigPassBits.cxx:13
TrigPassBits::TrigPassBits
TrigPassBits()
Definition
TrigPassBits.cxx:7
TrigPassBits::TrigPassBitsCnv_p1
friend class TrigPassBitsCnv_p1
Definition
Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h:45
TrigPassBits::size
unsigned int size() const
gets size of the bits array
Definition
Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h:42
TrigPassBits::m_decisions
std::vector< bool > m_decisions
trainsient bits storage (STL docu assures that this is efficient)
Definition
Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h:47
HLT
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Definition
HLTResultReader.h:26
HLT::makeTrigPassBits
TrigPassBits * makeTrigPassBits(const CONTAINER *cont)
Definition
Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h:55
HLT::isPassing
bool isPassing(const TrigPassBits *bits, const T *obj, const CONTAINER *container)
Check the bit for the object in the associated bits object.
Definition
Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h:80
HLT::markPassing
void markPassing(TrigPassBits *bits, const T *obj, const CONTAINER *container)
Set the bit for the object in the associated bits object.
Definition
Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h:67
Generated on
for ATLAS Offline Software by
1.17.0