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-2023 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 <map>
25#include <ostream>
26
27// can we leave this in for standalone running?
28// #ifndef XAOD_STANDALONE
29// #include "AthenaKernely/CLASS_DEF.h"
30// #include "GaudiKernel/MsgStream.h"
31
32#include "xAODCore/CLASS_DEF.h"
33
34// #endif
35
37
38
39
55
57
58public:
59
64 TrigRoiDescriptor(bool fullscan=false);
65
78 TrigRoiDescriptor(double eta, double etaMinus, double etaPlus,
79 double phi, double phiMinus, double phiPlus,
80 double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault);
81
96 TrigRoiDescriptor(unsigned int l1id, unsigned int id,
97 double eta, double etaMinus, double etaPlus,
98 double phi, double phiMinus, double phiPlus,
99 double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault);
100
116 TrigRoiDescriptor(unsigned int roiWord, unsigned int l1id, unsigned int id,
117 double eta, double etaMinus, double etaPlus,
118 double phi, double phiMinus, double phiPlus,
119 double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault);
120
121
122 TrigRoiDescriptor( const IRoiDescriptor& roi );
123
125
127
129
130 // Destructor
131 virtual ~TrigRoiDescriptor();
132
133 virtual unsigned int roiId() const override final { return m_roiId; }
134 virtual unsigned int l1Id() const override final { return m_l1Id; }
135 virtual unsigned int roiWord() const override final { return m_roiWord; }
136
137 virtual operator std::string() const override;
138
139protected:
140
141 unsigned int m_l1Id;
142 unsigned int m_roiId;
143 unsigned int m_roiWord;
144
145 std::vector<uint32_t> m_serialized;
146
147};
148
149
150std::string str( const TrigRoiDescriptor& d ); //<! printing helper
151std::ostream& operator<<( std::ostream& m, const TrigRoiDescriptor& d ); //<! printing helper (wraps above)
152
153
154// can this be left in or should it be removed?
155// #ifndef XAOD_STANDALONE
157// #endif
158
159
161#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
162
163#endif // TRIGROIDESCRIPTOR_H
164
165
166// #endif //XAOD_ANALYSIS
#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
std::vector< uint32_t > m_serialized
unsigned int m_roiId
RoI number.
unsigned int m_l1Id
lvl1 event number