ATLAS Offline Software
Loading...
Searching...
No Matches
TrigRoiDescriptor Class Reference

nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_ANALYSIS if !defined(TRIGSTEERINGEVENT_TRIGROIDESCRIPTOR_H) && !defined(XAOD_STANDALONE) More...

#include <TrigRoiDescriptor.h>

Inheritance diagram for TrigRoiDescriptor:
Collaboration diagram for TrigRoiDescriptor:

Public Types

typedef std::vector< constIRoiDescriptor * >::const_iterator roi_iterator

Public Member Functions

 TrigRoiDescriptor (bool fullscan=false)
 default constructor
 TrigRoiDescriptor (double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault)
 constructor
 TrigRoiDescriptor (unsigned int l1id, unsigned int id, double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault)
 constructor
 TrigRoiDescriptor (unsigned int roiWord, unsigned int l1id, unsigned int id, double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault)
 constructor
 TrigRoiDescriptor (const IRoiDescriptor &roi)
 TrigRoiDescriptor (const TrigRoiDescriptor &roi)
TrigRoiDescriptoroperator= (const IRoiDescriptor &roi)
TrigRoiDescriptoroperator= (const TrigRoiDescriptor &roi)
virtual ~TrigRoiDescriptor ()
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
virtual unsigned int roiWord () const override final
virtual operator std::string () const override
 output
virtual double phi () const override final
 Methods to retrieve data members.
virtual double eta () const override final
virtual double zed () const override final
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
virtual double etaPlus () const override final
 gets eta at zedPlus
virtual double etaMinus () const override final
 gets eta at zMinus
virtual double phiPlus () const override final
 gets phiPlus
virtual double phiMinus () const override final
 gets phiMinus
virtual int version () const override final
 versioning
void version (int v)
virtual bool isFullscan () const override final
 is this a full scan RoI?
virtual bool composite () const override final
 SuperRoI compatability methods.
void setComposite (bool b=true)
bool manageConstituents () const
 always manage constituents ???
void manageConstituents (bool b)
virtual unsigned size () const override final
 number of constituents
virtual const IRoiDescriptorat (int i) const override final
 find an RoiDescriptor constituent
void clear ()
 clear the vector
void reserve (size_t s)
 reserve elements in vector
void push_back (const IRoiDescriptor *roi)
 add a RoiDescriptor
virtual roi_iterator begin () const override final
 iterators
virtual roi_iterator end () const override final
virtual double dzdrMinus () const override final
 return the gradients
virtual double dzdrPlus () const override final
 dz/dr at the front of the RoI
virtual double drdzMinus () const override final
 dr/dz at the rear of the RoI
virtual double drdzPlus () const override final
 dr/dz at the front of the RoI
virtual double zedMin (double r) const override final
 methods to calculate z position at the RoI boundary at a given radius
virtual double zedMax (double r) const override final
virtual double zedOuterPlus () const override final
 z at the most forward end of the RoI
virtual double zedOuterMinus () const override final
 z at the most backward end of the RoI
virtual double rhoMin (double z) const override final
 accessors to calculate r position at position z along the RoI boundaries
virtual double rhoMax (double z) const override final

Static Public Member Functions

static double zedWidthDefault ()
static void zedWidthDefault (double d)
 set default z-width (but only before any RoiDescriptor has been created)

Static Public Attributes

static constexpr bool FULLSCAN = true
 convenient
static constexpr bool ROI = false

Protected Member Functions

void construct (double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed, double zedMinus, double zedPlus)
 construct RoiDescriptor internals - similar to constructors
void construct (const IRoiDescriptor &_roi)

Protected Attributes

unsigned int m_l1Id
 lvl1 event number
unsigned int m_roiId
 RoI number.
unsigned int m_roiWord
 lvl1 RoI word from which this RoI was initially constructed
std::vector< uint32_t > m_serialized
float m_phi
 phi of RoI center
float m_eta
 eta of RoI center
float m_zed
 zed of RoI center
float m_phiMinus
 most negative RoI in azimuthal
float m_phiPlus
 most positive RoI in azimuthal
float m_etaMinus
 eta of RoI at zedMinus
float m_etaPlus
 eta of RoI at zedPlus
float m_zedMinus
 z position at most negative position along the beamline
float m_zedPlus
 z position at most positive position along the beamline
float m_dzdrMinus
 dz/dr at the rear of the RoI
float m_dzdrPlus
 dz/dr at the front of the RoI
float m_drdzMinus
 dr/dz at the rear of the RoI
float m_drdzPlus
 dr/dz at the front of the RoI
float m_zedOuterMinus
 z at rear of RoI at the outer radius ( = 1100 mm)
float m_zedOuterPlus
 z at front of RoI at the outer radius ( = 1100 mm)
bool m_fullscan
 flag this as a full detector RoI
bool m_composite
 flag this as a composite RoI
bool m_manageConstituents
 flag to determine whether consituents should be managed
int m_version
 transient version identifier
std::vector< const IRoiDescriptor * > m_roiDescriptors
 roi constituents

Static Protected Attributes

static std::atomic< double > s_zedWidthDefault = 225
 default parameters - there may be better ways, but this will do
static std::atomic< bool > s_firstInstanceCreated = false
 to ensure default width is only set once at job startup

Detailed Description

nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_ANALYSIS if !defined(TRIGSTEERINGEVENT_TRIGROIDESCRIPTOR_H) && !defined(XAOD_STANDALONE)

Describes the Region of Ineterest geometry It has basically 9 parameters

  1. zed : z position of RoI
  2. zedPlus : the most forward zed position of the RoI at the beamline
  3. zedMinus : the most backward zed position of the RoI at the beamline
  4. phi : phi position of RoI
  5. phiPlus : phi at the most anticlockwise position of the RoI
  6. phiMinus : phi at the most clockwise position of the RoI
  7. eta : pseudo-rapidity of RoI at zed
  8. etaPlus : pseudo-rapidity at zedPlus
  9. etaMinus : pseudo-rapidity at zedMinus
    Warning
    An attempt to cnstruct the objects of this calss with phi0 out of allowed range reasults in throwing exception

Definition at line 56 of file TrigRoiDescriptor.h.

Member Typedef Documentation

◆ roi_iterator

typedef std::vector<constIRoiDescriptor*>::const_iterator IRoiDescriptor::roi_iterator
inherited

Definition at line 28 of file IRoiDescriptor.h.

Constructor & Destructor Documentation

◆ TrigRoiDescriptor() [1/6]

TrigRoiDescriptor::TrigRoiDescriptor ( bool fullscan = false)

default constructor

Parameters
fullscanif fullscan is true, this RoI will span the entire detector

Definition at line 25 of file TrigRoiDescriptor.cxx.

26 : RoiDescriptor( fullscan ),
27 m_l1Id(0), m_roiId(0), m_roiWord(0)
28{ }
RoiDescriptor(bool fullscan=ROI)
default constructor
unsigned int m_roiWord
lvl1 RoI word from which this RoI was initially constructed
unsigned int m_roiId
RoI number.
unsigned int m_l1Id
lvl1 event number

◆ TrigRoiDescriptor() [2/6]

TrigRoiDescriptor::TrigRoiDescriptor ( double eta,
double etaMinus,
double etaPlus,
double phi,
double phiMinus,
double phiPlus,
double zed = 0,
double zedMinus = -s_zedWidthDefault,
double zedPlus = s_zedWidthDefault )

constructor

Parameters
etaeta of RoI
etaMinuseta at rear of RoI
etaPluseta at front of RoI
phiphi of RoI
phiMinusminimum phi of RoI
phiPlusmaximum phi of RoI
zedzed of RoI
zedMinuszed at rear of RoI
zedPluszed at front of RoI

Definition at line 32 of file TrigRoiDescriptor.cxx.

36 m_l1Id(0), m_roiId(0), m_roiWord(0)
37{ }
virtual double eta() const =0
virtual double phiPlus() const =0
extreme phi values
virtual double zedPlus() const =0
the zed and eta values at the most forward and most rear ends of the RoI
virtual double phiMinus() const =0
virtual double phi() const =0
Methods to retrieve data members.
virtual double zedMinus() const =0
virtual double zed() const =0
virtual double etaMinus() const =0
virtual double etaPlus() const =0

◆ TrigRoiDescriptor() [3/6]

TrigRoiDescriptor::TrigRoiDescriptor ( unsigned int l1id,
unsigned int id,
double eta,
double etaMinus,
double etaPlus,
double phi,
double phiMinus,
double phiPlus,
double zed = 0,
double zedMinus = -s_zedWidthDefault,
double zedPlus = s_zedWidthDefault )

constructor

Parameters
l1idis event number asigned by LVL1 trigger
idRoI number within event (0,1,.....)
etaeta of RoI
etaMinuseta at rear of RoI
etaPluseta at front of RoI
phiphi of RoI
phiMinusminimum phi of RoI
phiPlusmaximum phi of RoI
zedzed of RoI
zedMinuszed at rear of RoI
zedPluszed at front of RoI

Definition at line 40 of file TrigRoiDescriptor.cxx.

◆ TrigRoiDescriptor() [4/6]

TrigRoiDescriptor::TrigRoiDescriptor ( unsigned int roiWord,
unsigned int l1id,
unsigned int id,
double eta,
double etaMinus,
double etaPlus,
double phi,
double phiMinus,
double phiPlus,
double zed = 0,
double zedMinus = -s_zedWidthDefault,
double zedPlus = s_zedWidthDefault )

constructor

Parameters
roiWordLVL1 trigger decision word
l1idis event number asigned by LVL1 trigger
idRoI number within event (0,1,.....)
etaeta of RoI
etaMinuseta at rear of RoI
etaPluseta at front of RoI
phiphi of RoI
phiMinusminimum phi of RoI
phiPlusmaximum phi of RoI
zedzed of RoI
zedMinuszed at rear of RoI
zedPluszed at front of RoI

Definition at line 50 of file TrigRoiDescriptor.cxx.

55 m_l1Id(l1id), m_roiId(id), m_roiWord(roiWord)
56{ }
virtual unsigned int roiWord() const override final

◆ TrigRoiDescriptor() [5/6]

TrigRoiDescriptor::TrigRoiDescriptor ( const IRoiDescriptor & roi)

Definition at line 60 of file TrigRoiDescriptor.cxx.

61 : RoiDescriptor( roi ),
62 m_l1Id(roi.l1Id()), m_roiId(roi.roiId()), m_roiWord(roi.roiWord()) {
63}
virtual unsigned int roiWord() const =0
virtual unsigned int roiId() const =0
identifiers
virtual unsigned int l1Id() const =0

◆ TrigRoiDescriptor() [6/6]

TrigRoiDescriptor::TrigRoiDescriptor ( const TrigRoiDescriptor & roi)

Definition at line 65 of file TrigRoiDescriptor.cxx.

65: TrigRoiDescriptor( static_cast<const IRoiDescriptor&>(roi) ) { }
Athena::TPCnvVers::Current TrigRoiDescriptor
IRoiDescriptor()
default constructor

◆ ~TrigRoiDescriptor()

TrigRoiDescriptor::~TrigRoiDescriptor ( )
virtual

Definition at line 98 of file TrigRoiDescriptor.cxx.

98{ }

Member Function Documentation

◆ at()

virtual const IRoiDescriptor * RoiDescriptor::at ( int i) const
inlinefinaloverridevirtualinherited

find an RoiDescriptor constituent

Implements IRoiDescriptor.

Definition at line 148 of file RoiDescriptor.h.

148{ return m_roiDescriptors.at(i); }
std::vector< const IRoiDescriptor * > m_roiDescriptors
roi constituents

◆ begin()

virtual roi_iterator RoiDescriptor::begin ( ) const
inlinefinaloverridevirtualinherited

iterators

Implements IRoiDescriptor.

Definition at line 160 of file RoiDescriptor.h.

160{ return m_roiDescriptors.begin(); }

◆ clear()

void RoiDescriptor::clear ( )
inlineinherited

clear the vector

Definition at line 151 of file RoiDescriptor.h.

151{ m_roiDescriptors.clear(); } // setComposite(false); }

◆ composite()

virtual bool RoiDescriptor::composite ( ) const
inlinefinaloverridevirtualinherited

SuperRoI compatability methods.

am I a SuperRoi?

Implements IRoiDescriptor.

Definition at line 137 of file RoiDescriptor.h.

137{ return m_composite; }
bool m_composite
flag this as a composite RoI

◆ construct() [1/2]

void RoiDescriptor::construct ( const IRoiDescriptor & _roi)
protectedinherited

Definition at line 236 of file RoiDescriptor.cxx.

236 {
237 construct( roi.eta(), roi.etaMinus(), roi.etaPlus(),
238 roi.phi(), roi.phiMinus(), roi.phiPlus(),
239 roi.zed(), roi.zedMinus(), roi.zedPlus() );
240}
void construct(double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed, double zedMinus, double zedPlus)
construct RoiDescriptor internals - similar to constructors

◆ construct() [2/2]

void RoiDescriptor::construct ( double eta,
double etaMinus,
double etaPlus,
double phi,
double phiMinus,
double phiPlus,
double zed,
double zedMinus,
double zedPlus )
protectedinherited

construct RoiDescriptor internals - similar to constructors

See also
RoiDescriptor( .... )

NB: deal with float to double issue This is a hack for the region selector - the RS uses double precision for the phi=pi boundary because the RoiDescriptor only uses a float, so pi is represented as 3.14159274 which is > M_PI so we have to subtract 1e-7 a bit to prevent it failing any phi>M_PI conditions

NB: see comment in double RoiDescriptor::phiPlus()

calculate the gradients - very useful these

Definition at line 160 of file RoiDescriptor.cxx.

163{
165
166 m_eta = eta_;
167 m_phi = phi_;
168 m_zed = zed_;
169
170 if ( std::isnan(m_eta) ) throw std::invalid_argument( "RoiDescriptor: eta nan" );
171 if ( std::isnan(m_phi) ) throw std::invalid_argument( "RoiDescriptor: phi nan" );
172 if ( std::isnan(m_zed) ) throw std::invalid_argument( "RoiDescriptor: zed nan" );
173
174
175 m_etaPlus = etaPlus_;
176 m_etaMinus = etaMinus_;
177
178 if ( std::isnan(m_etaPlus) ) throw std::invalid_argument( "RoiDescriptor: etaPlus nan" );
179 if ( std::isnan(m_etaMinus) ) throw std::invalid_argument( "RoiDescriptor: etaMinus nan" );
180
181
182 m_zedMinus = zedMinus_;
183 m_zedPlus = zedPlus_;
184
185 if ( std::isnan(m_zedPlus) ) throw std::invalid_argument( "RoiDescriptor: zedPlus nan" );
186 if ( std::isnan(m_zedMinus) ) throw std::invalid_argument( "RoiDescriptor: zedMinus nan" );
187
188
189 // deal with double -> float M_PI conversion
190
191 m_phiPlus = phiPlus_;
192
193 if ( std::isnan(m_phiPlus) ) throw std::invalid_argument( "RoiDescriptor: phiPlus nan" );
194
195
196 while ( m_phiPlus> M_PIF ) m_phiPlus -= M_2PI;
197 while ( m_phiPlus<-M_PIF ) m_phiPlus += M_2PI;
205 if ( m_phiPlus> M_PI ) m_phiPlus -= 1e-7;
206 if ( m_phiPlus<-M_PI ) m_phiPlus += 1e-7;
207
208
209 m_phiMinus = phiMinus_;
210
211 if ( std::isnan(m_phiMinus) ) throw std::invalid_argument( "RoiDescriptor: phiMinus nan" );
212
213 while ( m_phiMinus<-M_PIF ) m_phiMinus += M_2PI;
214 while ( m_phiMinus> M_PIF ) m_phiMinus -= M_2PI;
216 if ( m_phiMinus> M_PI ) m_phiMinus -= 1e-7;
217 if ( m_phiMinus<-M_PI ) m_phiMinus += 1e-7;
218
219
221
222 m_drdzMinus = std::tan(2*std::atan(std::exp(-etaMinus_)));
223 m_drdzPlus = std::tan(2*std::atan(std::exp(-etaPlus_)));
224
227
228 const double maxR = 1100; // maximum radius of an ID RoI, hmmm should be a configurable parameter?
229
232
233}
#define M_PI
#define M_2PI
static const float M_PIF
static std::atomic< bool > s_firstInstanceCreated
to ensure default width is only set once at job startup
float m_etaPlus
eta of RoI at zedPlus
float m_phi
phi of RoI center
float m_eta
eta of RoI center
float m_dzdrPlus
dz/dr at the front of the RoI
float m_etaMinus
eta of RoI at zedMinus
float m_zedOuterMinus
z at rear of RoI at the outer radius ( = 1100 mm)
float m_zedMinus
z position at most negative position along the beamline
float m_dzdrMinus
dz/dr at the rear of the RoI
float m_drdzPlus
dr/dz at the front of the RoI
float m_zed
zed of RoI center
float m_drdzMinus
dr/dz at the rear of the RoI
float m_phiMinus
most negative RoI in azimuthal
float m_phiPlus
most positive RoI in azimuthal
float m_zedPlus
z position at most positive position along the beamline
float m_zedOuterPlus
z at front of RoI at the outer radius ( = 1100 mm)

◆ drdzMinus()

virtual double RoiDescriptor::drdzMinus ( ) const
inlinefinaloverridevirtualinherited

dr/dz at the rear of the RoI

Implements IRoiDescriptor.

Definition at line 167 of file RoiDescriptor.h.

◆ drdzPlus()

virtual double RoiDescriptor::drdzPlus ( ) const
inlinefinaloverridevirtualinherited

dr/dz at the front of the RoI

Implements IRoiDescriptor.

Definition at line 168 of file RoiDescriptor.h.

◆ dzdrMinus()

virtual double RoiDescriptor::dzdrMinus ( ) const
inlinefinaloverridevirtualinherited

return the gradients

dz/dr at the rear of the RoI

Implements IRoiDescriptor.

Definition at line 164 of file RoiDescriptor.h.

◆ dzdrPlus()

virtual double RoiDescriptor::dzdrPlus ( ) const
inlinefinaloverridevirtualinherited

dz/dr at the front of the RoI

Implements IRoiDescriptor.

Definition at line 165 of file RoiDescriptor.h.

◆ end()

virtual roi_iterator RoiDescriptor::end ( ) const
inlinefinaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 161 of file RoiDescriptor.h.

161{ return m_roiDescriptors.end(); }

◆ eta()

virtual double RoiDescriptor::eta ( ) const
inlinefinaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 101 of file RoiDescriptor.h.

101{ return m_eta; }

◆ etaMinus()

virtual double RoiDescriptor::etaMinus ( ) const
inlinefinaloverridevirtualinherited

gets eta at zMinus

Implements IRoiDescriptor.

Definition at line 116 of file RoiDescriptor.h.

◆ etaPlus()

virtual double RoiDescriptor::etaPlus ( ) const
inlinefinaloverridevirtualinherited

gets eta at zedPlus

Implements IRoiDescriptor.

Definition at line 115 of file RoiDescriptor.h.

◆ isFullscan()

virtual bool RoiDescriptor::isFullscan ( ) const
inlinefinaloverridevirtualinherited

is this a full scan RoI?

Implements IRoiDescriptor.

Definition at line 132 of file RoiDescriptor.h.

132{ return m_fullscan; }
bool m_fullscan
flag this as a full detector RoI

◆ l1Id()

virtual unsigned int TrigRoiDescriptor::l1Id ( ) const
inlinefinaloverridevirtual

Reimplemented from RoiDescriptor.

Definition at line 134 of file TrigRoiDescriptor.h.

134{ return m_l1Id; }

◆ manageConstituents() [1/2]

bool RoiDescriptor::manageConstituents ( ) const
inlineinherited

always manage constituents ???

Definition at line 141 of file RoiDescriptor.h.

141{ return m_manageConstituents; }
bool m_manageConstituents
flag to determine whether consituents should be managed

◆ manageConstituents() [2/2]

void RoiDescriptor::manageConstituents ( bool b)
inlineinherited

Definition at line 142 of file RoiDescriptor.h.

◆ operator std::string()

TrigRoiDescriptor::operator std::string ( ) const
overridevirtual

output

Reimplemented from RoiDescriptor.

Definition at line 106 of file TrigRoiDescriptor.cxx.

106 {
107 std::stringstream ss;
108 ss << " RoIid: " << roiId() << " RoIword: " << roiWord() << "\t" << RoiDescriptor::operator::std::string();
109 return ss.str();
110}
static Double_t ss
virtual unsigned int roiId() const override final
these quantities probably don't need to be used any more

◆ operator=() [1/2]

TrigRoiDescriptor & TrigRoiDescriptor::operator= ( const IRoiDescriptor & roi)

for this, should just use the RoiDescriptor::operator=()

manging it's own constituents, so take a deep copy

these are already managed elsewhere, just copy the pointers

Definition at line 69 of file TrigRoiDescriptor.cxx.

69 {
70 if ( this==&roi ) return *this;
71
72 construct(roi);
73
74 m_l1Id = roi.l1Id();
75 m_roiId = roi.roiId();
76 m_roiWord = roi.roiWord();
77
79 if ( roi.size()>0 ) {
80 if ( m_manageConstituents ) {
82 for ( unsigned i=0 ; i<roi.size() ; i++ ) push_back( new TrigRoiDescriptor( *roi.at(i) ) );
83 }
84 else {
86 for ( unsigned i=0 ; i<roi.size() ; i++ ) push_back( roi.at(i) );
87 }
88 }
89
90 return *this;
91}
virtual const IRoiDescriptor * at(int i) const =0
find an RoiDescriptor constituent
virtual unsigned size() const =0
number of constituents
void push_back(const IRoiDescriptor *roi)
add a RoiDescriptor

◆ operator=() [2/2]

TrigRoiDescriptor & TrigRoiDescriptor::operator= ( const TrigRoiDescriptor & roi)

Definition at line 94 of file TrigRoiDescriptor.cxx.

94 {
95 return TrigRoiDescriptor::operator=( static_cast<const IRoiDescriptor&>(roi) );
96}
TrigRoiDescriptor & operator=(const IRoiDescriptor &roi)

◆ phi()

virtual double RoiDescriptor::phi ( ) const
inlinefinaloverridevirtualinherited

Methods to retrieve data members.

directions

Implements IRoiDescriptor.

Definition at line 100 of file RoiDescriptor.h.

100{ return m_phi; }

◆ phiMinus()

virtual double RoiDescriptor::phiMinus ( ) const
inlinefinaloverridevirtualinherited

gets phiMinus

Implements IRoiDescriptor.

Definition at line 119 of file RoiDescriptor.h.

◆ phiPlus()

virtual double RoiDescriptor::phiPlus ( ) const
inlinefinaloverridevirtualinherited

gets phiPlus

Implements IRoiDescriptor.

Definition at line 118 of file RoiDescriptor.h.

◆ push_back()

void RoiDescriptor::push_back ( const IRoiDescriptor * roi)
inlineinherited

add a RoiDescriptor

Definition at line 157 of file RoiDescriptor.h.

157{ m_roiDescriptors.push_back(roi); setComposite(true); }
void setComposite(bool b=true)

◆ reserve()

void RoiDescriptor::reserve ( size_t s)
inlineinherited

reserve elements in vector

Definition at line 154 of file RoiDescriptor.h.

154{ m_roiDescriptors.reserve(s); }

◆ rhoMax()

double RoiDescriptor::rhoMax ( double z) const
finaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 248 of file RoiDescriptor.cxx.

248{ return (z-m_zedPlus)*m_drdzPlus ; }
#define z

◆ rhoMin()

double RoiDescriptor::rhoMin ( double z) const
finaloverridevirtualinherited

accessors to calculate r position at position z along the RoI boundaries

Implements IRoiDescriptor.

Definition at line 247 of file RoiDescriptor.cxx.

247{ return (z-m_zedMinus)*m_drdzMinus; }

◆ roiId()

virtual unsigned int TrigRoiDescriptor::roiId ( ) const
inlinefinaloverridevirtual

these quantities probably don't need to be used any more

  • they are implemented here only because we had them in the original legacy interface

Reimplemented from RoiDescriptor.

Definition at line 133 of file TrigRoiDescriptor.h.

133{ return m_roiId; }

◆ roiWord()

virtual unsigned int TrigRoiDescriptor::roiWord ( ) const
inlinefinaloverridevirtual

Reimplemented from RoiDescriptor.

Definition at line 135 of file TrigRoiDescriptor.h.

135{ return m_roiWord; }

◆ setComposite()

void RoiDescriptor::setComposite ( bool b = true)
inlineinherited

Definition at line 138 of file RoiDescriptor.h.

138{ m_composite=b; }

◆ size()

virtual unsigned RoiDescriptor::size ( ) const
inlinefinaloverridevirtualinherited

number of constituents

Implements IRoiDescriptor.

Definition at line 145 of file RoiDescriptor.h.

145{ return m_roiDescriptors.size(); }

◆ version() [1/2]

virtual int RoiDescriptor::version ( ) const
inlinefinaloverridevirtualinherited

versioning

Implements IRoiDescriptor.

Definition at line 123 of file RoiDescriptor.h.

123{ return m_version; }
int m_version
transient version identifier

◆ version() [2/2]

void RoiDescriptor::version ( int v)
inlineinherited

Definition at line 124 of file RoiDescriptor.h.

◆ zed()

virtual double RoiDescriptor::zed ( ) const
inlinefinaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 102 of file RoiDescriptor.h.

102{ return m_zed; }

◆ zedMax()

double RoiDescriptor::zedMax ( double r) const
finaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 245 of file RoiDescriptor.cxx.

245{ return r*m_dzdrPlus+m_zedPlus; }
int r
Definition globals.cxx:22

◆ zedMin()

double RoiDescriptor::zedMin ( double r) const
finaloverridevirtualinherited

methods to calculate z position at the RoI boundary at a given radius

Implements IRoiDescriptor.

Definition at line 244 of file RoiDescriptor.cxx.

244{ return r*m_dzdrMinus+m_zedMinus; }

◆ zedMinus()

virtual double RoiDescriptor::zedMinus ( ) const
inlinefinaloverridevirtualinherited

z at the most backward end of the RoI

Implements IRoiDescriptor.

Definition at line 113 of file RoiDescriptor.h.

◆ zedOuterMinus()

virtual double RoiDescriptor::zedOuterMinus ( ) const
inlinefinaloverridevirtualinherited

z at the most backward end of the RoI

Implements IRoiDescriptor.

Definition at line 176 of file RoiDescriptor.h.

◆ zedOuterPlus()

virtual double RoiDescriptor::zedOuterPlus ( ) const
inlinefinaloverridevirtualinherited

z at the most forward end of the RoI

Implements IRoiDescriptor.

Definition at line 175 of file RoiDescriptor.h.

◆ zedPlus()

virtual double RoiDescriptor::zedPlus ( ) const
inlinefinaloverridevirtualinherited

z at the most forward end of the RoI

Implements IRoiDescriptor.

Definition at line 112 of file RoiDescriptor.h.

◆ zedWidthDefault() [1/2]

double RoiDescriptor::zedWidthDefault ( )
inlinestaticinherited

Definition at line 183 of file RoiDescriptor.h.

183{ return s_zedWidthDefault; }
static std::atomic< double > s_zedWidthDefault
default parameters - there may be better ways, but this will do

◆ zedWidthDefault() [2/2]

void RoiDescriptor::zedWidthDefault ( double d)
staticinherited

set default z-width (but only before any RoiDescriptor has been created)

Definition at line 33 of file RoiDescriptor.cxx.

34{
36 throw std::runtime_error("Cannot set default z-width because a RoiDescriptor has already been created");
37 }
39}

Member Data Documentation

◆ FULLSCAN

bool RoiDescriptor::FULLSCAN = true
staticconstexprinherited

convenient

Definition at line 45 of file RoiDescriptor.h.

◆ m_composite

bool RoiDescriptor::m_composite
protectedinherited

flag this as a composite RoI

Definition at line 233 of file RoiDescriptor.h.

◆ m_drdzMinus

float RoiDescriptor::m_drdzMinus
protectedinherited

dr/dz at the rear of the RoI

Definition at line 226 of file RoiDescriptor.h.

◆ m_drdzPlus

float RoiDescriptor::m_drdzPlus
protectedinherited

dr/dz at the front of the RoI

Definition at line 227 of file RoiDescriptor.h.

◆ m_dzdrMinus

float RoiDescriptor::m_dzdrMinus
protectedinherited

dz/dr at the rear of the RoI

Definition at line 223 of file RoiDescriptor.h.

◆ m_dzdrPlus

float RoiDescriptor::m_dzdrPlus
protectedinherited

dz/dr at the front of the RoI

Definition at line 224 of file RoiDescriptor.h.

◆ m_eta

float RoiDescriptor::m_eta
protectedinherited

eta of RoI center

Definition at line 213 of file RoiDescriptor.h.

◆ m_etaMinus

float RoiDescriptor::m_etaMinus
protectedinherited

eta of RoI at zedMinus

Definition at line 218 of file RoiDescriptor.h.

◆ m_etaPlus

float RoiDescriptor::m_etaPlus
protectedinherited

eta of RoI at zedPlus

Definition at line 219 of file RoiDescriptor.h.

◆ m_fullscan

bool RoiDescriptor::m_fullscan
protectedinherited

flag this as a full detector RoI

Definition at line 232 of file RoiDescriptor.h.

◆ m_l1Id

unsigned int TrigRoiDescriptor::m_l1Id
protected

lvl1 event number

Definition at line 141 of file TrigRoiDescriptor.h.

◆ m_manageConstituents

bool RoiDescriptor::m_manageConstituents
protectedinherited

flag to determine whether consituents should be managed

Definition at line 234 of file RoiDescriptor.h.

◆ m_phi

float RoiDescriptor::m_phi
protectedinherited

phi of RoI center

Definition at line 212 of file RoiDescriptor.h.

◆ m_phiMinus

float RoiDescriptor::m_phiMinus
protectedinherited

most negative RoI in azimuthal

Definition at line 216 of file RoiDescriptor.h.

◆ m_phiPlus

float RoiDescriptor::m_phiPlus
protectedinherited

most positive RoI in azimuthal

Definition at line 217 of file RoiDescriptor.h.

◆ m_roiDescriptors

std::vector<const IRoiDescriptor*> RoiDescriptor::m_roiDescriptors
protectedinherited

roi constituents

Definition at line 238 of file RoiDescriptor.h.

◆ m_roiId

unsigned int TrigRoiDescriptor::m_roiId
protected

RoI number.

Definition at line 142 of file TrigRoiDescriptor.h.

◆ m_roiWord

unsigned int TrigRoiDescriptor::m_roiWord
protected

lvl1 RoI word from which this RoI was initially constructed

Definition at line 143 of file TrigRoiDescriptor.h.

◆ m_serialized

std::vector<uint32_t> TrigRoiDescriptor::m_serialized
protected

Definition at line 145 of file TrigRoiDescriptor.h.

◆ m_version

int RoiDescriptor::m_version
protectedinherited

transient version identifier

Definition at line 236 of file RoiDescriptor.h.

◆ m_zed

float RoiDescriptor::m_zed
protectedinherited

zed of RoI center

Definition at line 214 of file RoiDescriptor.h.

◆ m_zedMinus

float RoiDescriptor::m_zedMinus
protectedinherited

z position at most negative position along the beamline

Definition at line 220 of file RoiDescriptor.h.

◆ m_zedOuterMinus

float RoiDescriptor::m_zedOuterMinus
protectedinherited

z at rear of RoI at the outer radius ( = 1100 mm)

Definition at line 229 of file RoiDescriptor.h.

◆ m_zedOuterPlus

float RoiDescriptor::m_zedOuterPlus
protectedinherited

z at front of RoI at the outer radius ( = 1100 mm)

Definition at line 230 of file RoiDescriptor.h.

◆ m_zedPlus

float RoiDescriptor::m_zedPlus
protectedinherited

z position at most positive position along the beamline

Definition at line 221 of file RoiDescriptor.h.

◆ ROI

bool RoiDescriptor::ROI = false
staticconstexprinherited

Definition at line 46 of file RoiDescriptor.h.

◆ s_firstInstanceCreated

std::atomic< bool > RoiDescriptor::s_firstInstanceCreated = false
staticprotectedinherited

to ensure default width is only set once at job startup

Definition at line 208 of file RoiDescriptor.h.

◆ s_zedWidthDefault

std::atomic< double > RoiDescriptor::s_zedWidthDefault = 225
staticprotectedinherited

default parameters - there may be better ways, but this will do

Definition at line 206 of file RoiDescriptor.h.


The documentation for this class was generated from the following files: