ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
PartialEventBuildingInfo Class Reference

#include <PartialEventBuildingInfo.h>

Collaboration diagram for PartialEventBuildingInfo:

Public Member Functions

 PartialEventBuildingInfo ()
 
 ~PartialEventBuildingInfo ()
 
void add (uint32_t rob_id)
 adds ROB to be added to partially built event More...
 
void add (const std::vector< uint32_t > &rob_ids)
 adds collection of robs to partially built event More...
 
void get (std::vector< uint32_t > &rob_ids) const
 gets back all ROBs added (fills up rob_ids vector given by reference) More...
 
void addROB (uint32_t rob_id)
 adds ROB to be added to partially built event More...
 
void addROBs (const std::vector< uint32_t > &rob_ids)
 adds collection of robs to partially built event More...
 
void getROBs (std::vector< uint32_t > &rob_ids) const
 gets back all ROBs added (fills up rob_ids vector given by reference) More...
 
const std::set< uint32_t > & getROBs () const
 gets back all ROBs added More...
 
void addSubDetector (eformat::SubDetector id)
 add detector to be in partially built event More...
 
void addSubDetector (std::vector< eformat::SubDetector > id)
 
void addSubDetector (eformat::SubDetectorGroup id)
 
void getSubDetectors (std::vector< eformat::SubDetector > &ids) const
 gets back all SubDetectorss added (fills up ids vector given by reference,) More...
 
const std::set< uint32_t > & getSubDetectors () const
 gets back all SubDetectorss added More...
 
void clear ()
 clears the list of ROBs and Dets More...
 
void merge (const PartialEventBuildingInfo &peb)
 merges two PEBI objects I.e. More...
 

Private Attributes

std::set< uint32_t > m_robs
 selected ROBs for partial event building More...
 
std::set< uint32_t > m_subDetectors
 selected SubDetectors More...
 

Detailed Description

Definition at line 14 of file PartialEventBuildingInfo.h.

Constructor & Destructor Documentation

◆ PartialEventBuildingInfo()

PartialEventBuildingInfo::PartialEventBuildingInfo ( )

Definition at line 9 of file PartialEventBuildingInfo.cxx.

9  {
10 }

◆ ~PartialEventBuildingInfo()

PartialEventBuildingInfo::~PartialEventBuildingInfo ( )

Definition at line 11 of file PartialEventBuildingInfo.cxx.

11  {
12 }

Member Function Documentation

◆ add() [1/2]

void PartialEventBuildingInfo::add ( const std::vector< uint32_t > &  rob_ids)

adds collection of robs to partially built event

Warning
obsolete

Definition at line 21 of file PartialEventBuildingInfo.cxx.

21  {
22  addROBs(rob_ids);
23 }

◆ add() [2/2]

void PartialEventBuildingInfo::add ( uint32_t  rob_id)

adds ROB to be added to partially built event

Warning
obsolete

Definition at line 14 of file PartialEventBuildingInfo.cxx.

14  {
15  addROB(rob_id);
16 }

◆ addROB()

void PartialEventBuildingInfo::addROB ( uint32_t  rob_id)

adds ROB to be added to partially built event

Definition at line 18 of file PartialEventBuildingInfo.cxx.

18  {
19  m_robs.insert(rob_id);
20 }

◆ addROBs()

void PartialEventBuildingInfo::addROBs ( const std::vector< uint32_t > &  rob_ids)

adds collection of robs to partially built event

Definition at line 25 of file PartialEventBuildingInfo.cxx.

25  {
26 
27  for ( std::vector<uint32_t>::const_iterator i = rob_ids.begin(); i != rob_ids.end(); ++i )
28  m_robs.insert(*i);
29 }

◆ addSubDetector() [1/3]

void PartialEventBuildingInfo::addSubDetector ( eformat::SubDetector  id)

add detector to be in partially built event

Definition at line 48 of file PartialEventBuildingInfo.cxx.

48  {
49  m_subDetectors.insert(id);
50 }

◆ addSubDetector() [2/3]

void PartialEventBuildingInfo::addSubDetector ( eformat::SubDetectorGroup  id)

Definition at line 58 of file PartialEventBuildingInfo.cxx.

58  {
59  using namespace eformat;
60  switch(id) {
61  case PIXEL:
62  m_subDetectors.insert(PIXEL_BARREL);
63  m_subDetectors.insert(PIXEL_DISK);
64  m_subDetectors.insert(PIXEL_B_LAYER);
65  break;
66 
67  case SCT:
68  m_subDetectors.insert(SCT_BARREL_A_SIDE);
69  m_subDetectors.insert(SCT_BARREL_C_SIDE);
70  m_subDetectors.insert(SCT_ENDCAP_A_SIDE);
71  m_subDetectors.insert(SCT_ENDCAP_C_SIDE);
72  break;
73 
74  case TRT:
75  m_subDetectors.insert(TRT_ANCILLARY_CRATE);
76  m_subDetectors.insert(TRT_BARREL_A_SIDE);
77  m_subDetectors.insert(TRT_BARREL_C_SIDE);
78  m_subDetectors.insert(TRT_ENDCAP_A_SIDE);
79  m_subDetectors.insert(TRT_ENDCAP_C_SIDE);
80  break;
81 
82  case LAR:
83  m_subDetectors.insert(LAR_EM_BARREL_A_SIDE);
84  m_subDetectors.insert(LAR_EM_BARREL_C_SIDE);
85  m_subDetectors.insert(LAR_EM_ENDCAP_A_SIDE);
86  m_subDetectors.insert(LAR_EM_ENDCAP_C_SIDE);
87  m_subDetectors.insert(LAR_HAD_ENDCAP_A_SIDE);
88  m_subDetectors.insert(LAR_HAD_ENDCAP_C_SIDE);
89  m_subDetectors.insert(LAR_FCAL_A_SIDE);
90  m_subDetectors.insert(LAR_FCAL_C_SIDE);
91  break;
92 
93  case TILECAL:
94  m_subDetectors.insert(TILECAL_LASER_CRATE);
95  m_subDetectors.insert(TILECAL_BARREL_A_SIDE);
96  m_subDetectors.insert(TILECAL_BARREL_C_SIDE);
97  m_subDetectors.insert(TILECAL_EXT_A_SIDE);
98  m_subDetectors.insert(TILECAL_EXT_C_SIDE);
99  break;
100 
101  case MUON:
102  m_subDetectors.insert(MUON_ANCILLARY_CRATE);
103  m_subDetectors.insert(MUON_MDT_BARREL_A_SIDE);
104  m_subDetectors.insert(MUON_MDT_BARREL_C_SIDE);
105  m_subDetectors.insert(MUON_MDT_ENDCAP_A_SIDE);
106  m_subDetectors.insert(MUON_MDT_ENDCAP_C_SIDE);
107  m_subDetectors.insert(MUON_RPC_BARREL_A_SIDE);
108  m_subDetectors.insert(MUON_RPC_BARREL_C_SIDE);
109  m_subDetectors.insert(MUON_TGC_ENDCAP_A_SIDE);
110  m_subDetectors.insert(MUON_TGC_ENDCAP_C_SIDE);
111  m_subDetectors.insert(MUON_CSC_ENDCAP_A_SIDE);
112  m_subDetectors.insert(MUON_CSC_ENDCAP_C_SIDE);
113  break;
114 
115  case TDAQ:
116  m_subDetectors.insert(TDAQ_BEAM_CRATE);
117  m_subDetectors.insert(TDAQ_CALO_PREPROC);
118  m_subDetectors.insert(TDAQ_CALO_CLUSTER_PROC_DAQ);
119  m_subDetectors.insert(TDAQ_CALO_CLUSTER_PROC_ROI);
120  m_subDetectors.insert(TDAQ_CALO_JET_PROC_DAQ);
121  m_subDetectors.insert(TDAQ_CALO_JET_PROC_ROI);
122  m_subDetectors.insert(TDAQ_MUON_CTP_INTERFACE);
123  m_subDetectors.insert(TDAQ_CTP);
124  m_subDetectors.insert(TDAQ_L2SV);
125  m_subDetectors.insert(TDAQ_SFI);
126  m_subDetectors.insert(TDAQ_SFO);
127  m_subDetectors.insert(TDAQ_LVL2);
128  m_subDetectors.insert(TDAQ_EVENT_FILTER);
129  break;
130 
131  case FORWARD:
132  m_subDetectors.insert(FORWARD_BCM);
133  m_subDetectors.insert(FORWARD_LUCID);
134  m_subDetectors.insert(FORWARD_ZDC);
135  m_subDetectors.insert(FORWARD_ALPHA);
136  break;
137 
138  default:
139  // do nothing
140  break;
141  }
142 
143 }

◆ addSubDetector() [3/3]

void PartialEventBuildingInfo::addSubDetector ( std::vector< eformat::SubDetector >  id)

Definition at line 52 of file PartialEventBuildingInfo.cxx.

52  {
53  for ( std::vector<eformat::SubDetector>::const_iterator i = ids.begin(); i != ids.end(); ++i )
54  m_subDetectors.insert(*i);
55 }

◆ clear()

void PartialEventBuildingInfo::clear ( )

clears the list of ROBs and Dets

Definition at line 154 of file PartialEventBuildingInfo.cxx.

154  {
155  m_robs.clear();
156  m_subDetectors.clear();
157 }

◆ get()

void PartialEventBuildingInfo::get ( std::vector< uint32_t > &  rob_ids) const

gets back all ROBs added (fills up rob_ids vector given by reference)

Warning
note that vector is not cleared
obsolete

Definition at line 31 of file PartialEventBuildingInfo.cxx.

31  {
32  getROBs(rob_ids);
33 }

◆ getROBs() [1/2]

const std::set< uint32_t > & PartialEventBuildingInfo::getROBs ( ) const

gets back all ROBs added

Definition at line 43 of file PartialEventBuildingInfo.cxx.

43  {
44  return m_robs;
45 }

◆ getROBs() [2/2]

void PartialEventBuildingInfo::getROBs ( std::vector< uint32_t > &  rob_ids) const

gets back all ROBs added (fills up rob_ids vector given by reference)

Warning
note that vector is not cleared)

Definition at line 35 of file PartialEventBuildingInfo.cxx.

35  {
36 
37  rob_ids.reserve(rob_ids.size()+m_robs.size()); // optimization, it is believed that m_robs can be big
38 
39  for ( std::set<uint32_t>::const_iterator i = m_robs.begin(); i != m_robs.end(); ++i )
40  rob_ids.push_back(*i);
41 }

◆ getSubDetectors() [1/2]

const std::set< uint32_t > & PartialEventBuildingInfo::getSubDetectors ( ) const

gets back all SubDetectorss added

Definition at line 150 of file PartialEventBuildingInfo.cxx.

150  {
151  return m_subDetectors;
152 }

◆ getSubDetectors() [2/2]

void PartialEventBuildingInfo::getSubDetectors ( std::vector< eformat::SubDetector > &  ids) const

gets back all SubDetectorss added (fills up ids vector given by reference,)

Warning
note that vector is not cleared

Definition at line 145 of file PartialEventBuildingInfo.cxx.

145  {
146  for ( std::set<uint32_t>::const_iterator i = m_subDetectors.begin(); i != m_subDetectors.end(); ++i )
147  ids.push_back( eformat::helper::SourceIdentifier(*i).subdetector_id() );
148 }

◆ merge()

void PartialEventBuildingInfo::merge ( const PartialEventBuildingInfo peb)

merges two PEBI objects I.e.

it the subject of the method invocation will have ROBs and SubDets list which is union of the two

Definition at line 159 of file PartialEventBuildingInfo.cxx.

159  {
160  m_robs.insert(peb.m_robs.begin(), peb.m_robs.end());
161  m_subDetectors.insert(peb.m_subDetectors.begin(), peb.m_subDetectors.end());
162 }

Member Data Documentation

◆ m_robs

std::set<uint32_t> PartialEventBuildingInfo::m_robs
private

selected ROBs for partial event building

Definition at line 87 of file PartialEventBuildingInfo.h.

◆ m_subDetectors

std::set<uint32_t> PartialEventBuildingInfo::m_subDetectors
private

selected SubDetectors

Definition at line 88 of file PartialEventBuildingInfo.h.


The documentation for this class was generated from the following files:
eformat
Definition: L1CaloBsDecoderUtil.h:11
TRT
@ TRT
Definition: RegSelEnums.h:26
PartialEventBuildingInfo::m_subDetectors
std::set< uint32_t > m_subDetectors
selected SubDetectors
Definition: PartialEventBuildingInfo.h:88
lumiFormat.i
int i
Definition: lumiFormat.py:85
PartialEventBuildingInfo::getROBs
const std::set< uint32_t > & getROBs() const
gets back all ROBs added
Definition: PartialEventBuildingInfo.cxx:43
PartialEventBuildingInfo::addROB
void addROB(uint32_t rob_id)
adds ROB to be added to partially built event
Definition: PartialEventBuildingInfo.cxx:18
FORWARD
#define FORWARD
Definition: ALFA_SvdCalc.h:34
MUON
xAOD::Muon MUON
D3PD INCLUDES.
Definition: TileCellFillerTool.h:37
PartialEventBuildingInfo::m_robs
std::set< uint32_t > m_robs
selected ROBs for partial event building
Definition: PartialEventBuildingInfo.h:87
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
LAR
@ LAR
Definition: RegSelEnums.h:27
PartialEventBuildingInfo::addROBs
void addROBs(const std::vector< uint32_t > &rob_ids)
adds collection of robs to partially built event
Definition: PartialEventBuildingInfo.cxx:25
SCT
@ SCT
Definition: RegSelEnums.h:25
PIXEL
@ PIXEL
Definition: RegSelEnums.h:24