ATLAS Offline Software
ITrigMuonRoITool.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 #ifndef TRIGMUONROITOOLS_ITRIGMUONROITOOL_H
6 #define TRIGMUONROITOOLS_ITRIGMUONROITOOL_H
7 
8 #include "GaudiKernel/IAlgTool.h"
9 #include "GaudiKernel/EventContext.h"
10 #include <vector>
11 #include <utility>
12 #include "TrigT1Result/MuCTPIRoI.h"
13 
14 namespace ROIB {
15  class MuCTPIRoI;
16 }
17 
18 
19 class ITrigMuonRoITool: virtual public IAlgTool
20 {
21  public:
23 
24  struct MuonRois{
25  MuonRois(std::vector<ROIB::MuCTPIRoI> &&inroi,
26  std::vector< std::pair<ROIB::MuCTPIRoI,int> > &&outroi)
27  : inTimeRois( std::move(inroi)),
28  outOfTimeRois( std::move(outroi) ) {}
29  std::vector<ROIB::MuCTPIRoI> inTimeRois;
30  std::vector< std::pair<ROIB::MuCTPIRoI,int> > outOfTimeRois;
31  };
32 
33 
39  virtual std::unique_ptr<MuonRois> decodeMuCTPi(const EventContext& ctx) const =0;
41 
42 };
43 #endif
ITrigMuonRoITool::MuonRois::outOfTimeRois
std::vector< std::pair< ROIB::MuCTPIRoI, int > > outOfTimeRois
Definition: ITrigMuonRoITool.h:30
MuCTPIRoI.h
ITrigMuonRoITool::MuonRois::MuonRois
MuonRois(std::vector< ROIB::MuCTPIRoI > &&inroi, std::vector< std::pair< ROIB::MuCTPIRoI, int > > &&outroi)
Definition: ITrigMuonRoITool.h:25
ROIB
Namespace of the LVL1 RoIB simulation.
Definition: ILvl1ResultAccessTool.h:19
ITrigMuonRoITool
Definition: ITrigMuonRoITool.h:20
ITrigMuonRoITool::MuonRois::inTimeRois
std::vector< ROIB::MuCTPIRoI > inTimeRois
Definition: ITrigMuonRoITool.h:29
ITrigMuonRoITool::MuonRois
Definition: ITrigMuonRoITool.h:24
ITrigMuonRoITool::DeclareInterfaceID
DeclareInterfaceID(ITrigMuonRoITool, 1, 0)
ITrigMuonRoITool::decodeMuCTPi
virtual std::unique_ptr< MuonRois > decodeMuCTPi(const EventContext &ctx) const =0
Accessor to the vectors of all RoIs in and out of time with the event.