ATLAS Offline Software
Loading...
Searching...
No Matches
eEmSelector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef GLOBALSIM_EEMSELECTOR_H
6#define GLOBALSIM_EEMSELECTOR_H
7
8#include "IeEmSelector.h"
9#include "../IO/IeEmTOB.h" // bitset widths
10
11#include <climits>
12
13namespace GlobalSim {
19
20 using GlobalSim::IOBitwise::IeEmTOB;
21
22
23 class ICutter {
24 public:
25 virtual ~ICutter() = default;
26 virtual bool cut(const ulong&) const = 0;
27 virtual std::string to_string() const = 0;
28 };
29
30 class eEmSelector : public IeEmSelector {
31 public:
32
34 eEmSelector() = default;
35
37 eEmSelector(ulong rhad_cut,
38 const std::string& rhad_op,
39 ulong reta_cut,
40 const std::string& reta_op,
41 ulong wstot_cut,
42 const std::string& wstot_op);
43
44 virtual ~eEmSelector() = default;
45
46 virtual bool select(const IeEmTOB&) const override;
47
48 virtual std::string to_string() const override;
49
50 private:
51 std::unique_ptr<ICutter> m_rhad_cutter{nullptr};
52 std::unique_ptr<ICutter> m_reta_cutter{nullptr};
53 std::unique_ptr<ICutter> m_wstot_cutter{nullptr};
54 };
55}
56#endif
virtual std::string to_string() const =0
virtual bool cut(const ulong &) const =0
virtual ~ICutter()=default
Class to hold eFexROI TOB bits.
Definition IeEmTOB.h:29
virtual std::string to_string() const override
std::unique_ptr< ICutter > m_wstot_cutter
Definition eEmSelector.h:53
virtual ~eEmSelector()=default
std::unique_ptr< ICutter > m_rhad_cutter
Definition eEmSelector.h:51
virtual bool select(const IeEmTOB &) const override
eEmSelector()=default
Passes all.
std::unique_ptr< ICutter > m_reta_cutter
Definition eEmSelector.h:52
AlgTool that to test whether expected the TIP values generated by data supplied by eEmMultTestBench c...