ATLAS Offline Software
Loading...
Searching...
No Matches
TrigRoiDescriptor.h
Go to the documentation of this file.
1// emacs: this is -*- c++ -*-
2/*
3 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
4*/
5//
6// @file TrigRoiDescriptor.h
7//
8// RoiDescriptor class - includes constructors in preparation
9// for enforcement of correct roi sizes
10//
11// @author sutt@cern.ch
12//
13
14
19
20#ifndef TRIGSTEERINGEVENT_TRIGROIDESCRIPTOR_H
21#define TRIGSTEERINGEVENT_TRIGROIDESCRIPTOR_H
22
23#include <stdint.h>
24#include <vector>
25#include <iosfwd>
26
28
29#include "xAODCore/CLASS_DEF.h"
30
31
47
49
50public:
51
56 TrigRoiDescriptor(bool fullscan=false);
57
70 TrigRoiDescriptor(double eta, double etaMinus, double etaPlus,
71 double phi, double phiMinus, double phiPlus,
72 double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault);
73
88 TrigRoiDescriptor(unsigned int l1id, unsigned int id,
89 double eta, double etaMinus, double etaPlus,
90 double phi, double phiMinus, double phiPlus,
91 double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault);
92
108 TrigRoiDescriptor(unsigned int roiWord, unsigned int l1id, unsigned int id,
109 double eta, double etaMinus, double etaPlus,
110 double phi, double phiMinus, double phiPlus,
111 double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault);
112
113
114 TrigRoiDescriptor( const IRoiDescriptor& roi );
115
117
119
121
123
124 // Destructor
125 virtual ~TrigRoiDescriptor();
126
127 virtual unsigned int roiId() const override final { return m_roiId; }
128 virtual unsigned int l1Id() const override final { return m_l1Id; }
129 virtual unsigned int roiWord() const override final { return m_roiWord; }
130
131 virtual operator std::string() const override;
132
133protected:
134
135 unsigned int m_l1Id;
136 unsigned int m_roiId;
137 unsigned int m_roiWord;
138
139};
140
141
142std::string str( const TrigRoiDescriptor& d ); //<! printing helper
143std::ostream& operator<<( std::ostream& m, const TrigRoiDescriptor& d ); //<! printing helper (wraps above)
144
145
147
148#endif // TRIGROIDESCRIPTOR_H
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
File providing the different SG_BASE macros.
std::ostream & operator<<(std::ostream &m, const TrigRoiDescriptor &d)
Athena::TPCnvVers::Current TrigRoiDescriptor
IRoiDescriptor()
default constructor
virtual double etaMinus() const override final
gets eta at zMinus
virtual double etaPlus() const override final
gets eta at zedPlus
virtual double zed() const override final
RoiDescriptor(bool fullscan=ROI)
default constructor
virtual double phi() const override final
Methods to retrieve data members.
virtual double phiMinus() const override final
gets phiMinus
virtual double zedPlus() const override final
z at the most forward end of the RoI
virtual double zedMinus() const override final
z at the most backward end of the RoI
static std::atomic< double > s_zedWidthDefault
default parameters - there may be better ways, but this will do
virtual double eta() const override final
virtual double phiPlus() const override final
gets phiPlus
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
unsigned int m_roiWord
lvl1 RoI word from which this RoI was initially constructed
TrigRoiDescriptor(bool fullscan=false)
default constructor
virtual unsigned int roiWord() const override final
TrigRoiDescriptor & operator=(const IRoiDescriptor &roi)
virtual unsigned int roiId() const override final
these quantities probably don't need to be used any more
virtual unsigned int l1Id() const override final
unsigned int m_roiId
RoI number.
TrigRoiDescriptor & operator=(TrigRoiDescriptor &&roi)=default
unsigned int m_l1Id
lvl1 event number