ATLAS Offline Software
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 
57 
58 public:
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 
124  TrigRoiDescriptor( const TrigRoiDescriptor& roi );
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 
139 protected:
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 
150 std::string str( const TrigRoiDescriptor& d ); //<! printing helper
151 std::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 #include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
162 
163 #endif // TRIGROIDESCRIPTOR_H
164 
165 
166 // #endif //XAOD_ANALYSIS
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
RoiDescriptor::zedMinus
virtual double zedMinus() const override final
z at the most backward end of the RoI
Definition: RoiDescriptor.h:113
hist_file_dump.d
d
Definition: hist_file_dump.py:137
TrigRoiDescriptor::roiWord
virtual unsigned int roiWord() const override final
Definition: TrigRoiDescriptor.h:135
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
Definition: TrigRoiDescriptor.h:56
TrigRoiDescriptor::m_roiWord
unsigned int m_roiWord
lvl1 RoI word from which this RoI was initially constructed
Definition: TrigRoiDescriptor.h:143
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
operator<<
std::ostream & operator<<(std::ostream &m, const TrigRoiDescriptor &d)
Definition: TrigRoiDescriptor.cxx:116
TrigRoiDescriptor::TrigRoiDescriptor
TrigRoiDescriptor(bool fullscan=false)
default constructor
Definition: TrigRoiDescriptor.cxx:25
RoiDescriptor::s_zedWidthDefault
static std::atomic< double > s_zedWidthDefault
default parameters - there may be better ways, but this will do
Definition: RoiDescriptor.h:206
TrigRoiDescriptor::m_roiId
unsigned int m_roiId
RoI number.
Definition: TrigRoiDescriptor.h:142
TrigRoiDescriptor::operator=
TrigRoiDescriptor & operator=(const IRoiDescriptor &roi)
Definition: TrigRoiDescriptor.cxx:69
IRoiDescriptor
Describes the API of the Region of Ineterest geometry.
Definition: IRoiDescriptor.h:23
RoiDescriptor.h
TrigRoiDescriptor::m_serialized
std::vector< uint32_t > m_serialized
Definition: TrigRoiDescriptor.h:145
str
std::string str(const TrigRoiDescriptor &d)
Definition: TrigRoiDescriptor.cxx:112
TrigRoiDescriptor::l1Id
virtual unsigned int l1Id() const override final
Definition: TrigRoiDescriptor.h:134
RoiDescriptor
Describes the Region of Ineterest geometry It has basically 9 parameters.
Definition: RoiDescriptor.h:40
RoiDescriptor::zed
virtual double zed() const override final
Definition: RoiDescriptor.h:102
CLASS_DEF.h
File providing the different SG_BASE macros.
TrigRoiDescriptor::roiId
virtual unsigned int roiId() const override final
these quantities probably don't need to be used any more
Definition: TrigRoiDescriptor.h:133
RoiDescriptor::etaPlus
virtual double etaPlus() const override final
gets eta at zedPlus
Definition: RoiDescriptor.h:115
TrigRoiDescriptor::~TrigRoiDescriptor
virtual ~TrigRoiDescriptor()
Definition: TrigRoiDescriptor.cxx:98
RoiDescriptor::phi
virtual double phi() const override final
Methods to retrieve data members.
Definition: RoiDescriptor.h:100
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
RoiDescriptor::eta
virtual double eta() const override final
Definition: RoiDescriptor.h:101
RoiDescriptor::phiPlus
virtual double phiPlus() const override final
gets phiPlus
Definition: RoiDescriptor.h:118
RoiDescriptor::etaMinus
virtual double etaMinus() const override final
gets eta at zMinus
Definition: RoiDescriptor.h:116
RoiDescriptor::phiMinus
virtual double phiMinus() const override final
gets phiMinus
Definition: RoiDescriptor.h:119
TrigRoiDescriptor::m_l1Id
unsigned int m_l1Id
lvl1 event number
Definition: TrigRoiDescriptor.h:141
RoiDescriptor::zedPlus
virtual double zedPlus() const override final
z at the most forward end of the RoI
Definition: RoiDescriptor.h:112