ATLAS Offline Software
IFPGATrackSimEventSelectionSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef FPGATrackSimCONFTOOLS_IFPGATrackSimEVENTSELECTIONSVC_H
6 #define FPGATrackSimCONFTOOLS_IFPGATrackSimEVENTSELECTIONSVC_H
7 
8 #include "GaudiKernel/IInterface.h"
9 #include "GaudiKernel/IService.h"
10 
11 class FPGATrackSimHit;
12 class FPGATrackSimTrack;
19 enum class SampleType;
20 
21 class IFPGATrackSimEventSelectionSvc : public virtual IService
22 {
23  public:
24 
25  static const InterfaceID& interfaceID();
26 
27  virtual FPGATrackSimTrackPars getMin() const = 0;
28  virtual FPGATrackSimTrackPars getMax() const = 0;
29  virtual unsigned getRegionID() const = 0;
30  virtual SampleType getSampleType() const = 0;
31  virtual bool checkPU() const = 0;
32  virtual int getLRTpdgID() const = 0;
33  virtual const FPGATrackSimRegionSlices* getRegions() = 0;
34 
35  virtual bool passCuts(const FPGATrackSimHit&) const = 0;
36  virtual bool passCuts(const FPGATrackSimTrack&) const = 0;
37  virtual bool passCuts(const FPGATrackSimOfflineTrack&) const = 0;
38  virtual bool passCuts(const FPGATrackSimTruthTrack&) const = 0;
39 
40  virtual bool passMatching(FPGATrackSimTrack const &) const = 0;
41  virtual bool passMatching(FPGATrackSimTruthTrack const &) const = 0;
42 
43  virtual bool selectEvent(FPGATrackSimEventInputHeader*) const = 0;
45 
46  virtual bool passQOverPt(const FPGATrackSimTrack&) const = 0;
47  virtual bool passEta(const FPGATrackSimTrack&) const = 0;
48  virtual bool passPhi(const FPGATrackSimTrack&) const = 0;
49  virtual bool passD0(const FPGATrackSimTrack&) const = 0;
50  virtual bool passZ0(const FPGATrackSimTrack&) const = 0;
51 
52  virtual bool passQOverPt(const FPGATrackSimOfflineTrack&) const = 0;
53  virtual bool passEta(const FPGATrackSimOfflineTrack&) const = 0;
54  virtual bool passPhi(const FPGATrackSimOfflineTrack&) const = 0;
55  virtual bool passD0(const FPGATrackSimOfflineTrack&) const = 0;
56  virtual bool passZ0(const FPGATrackSimOfflineTrack&) const = 0;
57 };
58 
60 {
61  static const InterfaceID IID("IFPGATrackSimEventSelectionSvc", 1, 0);
62  return IID;
63 }
64 
65 #endif //FPGATrackSimCONFTOOLS_IFPGATrackSimEVENTSELECTIONSVC_H
FPGATrackSimLogicalEventInputHeader
Definition: FPGATrackSimLogicalEventInputHeader.h:21
IFPGATrackSimEventSelectionSvc::passCuts
virtual bool passCuts(const FPGATrackSimTrack &) const =0
FPGATrackSimRegionSlices
Definition: FPGATrackSimRegionSlices.h:25
IFPGATrackSimEventSelectionSvc::passCuts
virtual bool passCuts(const FPGATrackSimHit &) const =0
FPGATrackSimTrack
Definition: FPGATrackSimTrack.h:16
FPGATrackSimTrackPars
Definition: FPGATrackSimTrackPars.h:22
FPGATrackSimTruthTrack
Definition: FPGATrackSimTruthTrack.h:13
IFPGATrackSimEventSelectionSvc
Definition: IFPGATrackSimEventSelectionSvc.h:22
IFPGATrackSimEventSelectionSvc::getRegionID
virtual unsigned getRegionID() const =0
IFPGATrackSimEventSelectionSvc::passPhi
virtual bool passPhi(const FPGATrackSimTrack &) const =0
IFPGATrackSimEventSelectionSvc::passZ0
virtual bool passZ0(const FPGATrackSimOfflineTrack &) const =0
IFPGATrackSimEventSelectionSvc::passCuts
virtual bool passCuts(const FPGATrackSimOfflineTrack &) const =0
IFPGATrackSimEventSelectionSvc::passMatching
virtual bool passMatching(FPGATrackSimTruthTrack const &) const =0
FPGATrackSimHit
Definition: FPGATrackSimHit.h:38
IFPGATrackSimEventSelectionSvc::selectEvent
virtual bool selectEvent(FPGATrackSimLogicalEventInputHeader *) const =0
IFPGATrackSimEventSelectionSvc::getLRTpdgID
virtual int getLRTpdgID() const =0
IFPGATrackSimEventSelectionSvc::passEta
virtual bool passEta(const FPGATrackSimTrack &) const =0
IFPGATrackSimEventSelectionSvc::passEta
virtual bool passEta(const FPGATrackSimOfflineTrack &) const =0
IFPGATrackSimEventSelectionSvc::passD0
virtual bool passD0(const FPGATrackSimTrack &) const =0
IFPGATrackSimEventSelectionSvc::passQOverPt
virtual bool passQOverPt(const FPGATrackSimOfflineTrack &) const =0
FPGATrackSimEventInputHeader
Definition: FPGATrackSimEventInputHeader.h:22
IFPGATrackSimEventSelectionSvc::passMatching
virtual bool passMatching(FPGATrackSimTrack const &) const =0
IFPGATrackSimEventSelectionSvc::passD0
virtual bool passD0(const FPGATrackSimOfflineTrack &) const =0
FPGATrackSimOfflineTrack
Definition: FPGATrackSimOfflineTrack.h:12
IFPGATrackSimEventSelectionSvc::getMin
virtual FPGATrackSimTrackPars getMin() const =0
IFPGATrackSimEventSelectionSvc::getSampleType
virtual SampleType getSampleType() const =0
IFPGATrackSimEventSelectionSvc::selectEvent
virtual bool selectEvent(FPGATrackSimEventInputHeader *) const =0
IFPGATrackSimEventSelectionSvc::passZ0
virtual bool passZ0(const FPGATrackSimTrack &) const =0
IFPGATrackSimEventSelectionSvc::passPhi
virtual bool passPhi(const FPGATrackSimOfflineTrack &) const =0
IFPGATrackSimEventSelectionSvc::getMax
virtual FPGATrackSimTrackPars getMax() const =0
IFPGATrackSimEventSelectionSvc::interfaceID
static const InterfaceID & interfaceID()
Definition: IFPGATrackSimEventSelectionSvc.h:59
IFPGATrackSimEventSelectionSvc::checkPU
virtual bool checkPU() const =0
IFPGATrackSimEventSelectionSvc::passQOverPt
virtual bool passQOverPt(const FPGATrackSimTrack &) const =0
IFPGATrackSimEventSelectionSvc::passCuts
virtual bool passCuts(const FPGATrackSimTruthTrack &) const =0
IFPGATrackSimEventSelectionSvc::getRegions
virtual const FPGATrackSimRegionSlices * getRegions()=0
SampleType
SampleType
Definition: FPGATrackSimTypes.h:40