File RoiDescriptor.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

class RoiDescriptor
#include <Acts/TrackFinding/RoiDescriptor.hpp>

Public Types

using roi_iterator = std::vector<const RoiDescriptor*>::const_iterator

Public Functions

RoiDescriptor(const RoiDescriptor &roi)
RoiDescriptor(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
  • eta – eta of RoI

  • etaMinus – eta at rear of RoI

  • etaPlus – eta at front of RoI

  • phi – phi of RoI

  • phiMinus – minimum phi of RoI

  • phiPlus – maximum phi of RoI

  • zed – zed of RoI

  • zedMinus – zed at rear of RoI

  • zedPlus – zed at front of RoI

~RoiDescriptor()
inline const RoiDescriptor *at(int i) const

find an RoiDescriptor constituent

inline roi_iterator begin() const

iterators

inline void clear()

clear the vector

inline bool composite() const

SuperRoI compatibility methods.

am I a SuperRoi?

inline double drdzMinus() const

dr/dz at the rear of the RoI

inline double drdzPlus() const

dr/dz at the front of the RoI

inline double dzdrMinus() const

return the gradients

dz/dr at the rear of the RoI

inline double dzdrPlus() const

dz/dr at the front of the RoI

inline roi_iterator end() const
inline double eta() const
inline double etaMinus() const

gets eta at zMinus

inline double etaPlus() const

gets eta at zedPlus

inline bool isFullscan() const

output

is this a full scan RoI?

inline unsigned int l1Id() const
inline bool manageConstituents() const

always manage constituents ???

inline void manageConstituents(bool b)
RoiDescriptor &operator=(const RoiDescriptor &r)
inline double phi() const
inline double phiMinus() const

gets phiMinus

inline double phiPlus() const

gets phiPlus

inline void push_back(const RoiDescriptor *roi)

add a RoiDescriptor

inline void reserve(size_t s)

reserve elements in vector

double rhoMax(double z) const
double rhoMin(double z) const
inline unsigned int roiId() const
inline unsigned int roiWord() const
inline void setComposite(bool b = true)
inline unsigned size() const

number of constituents

inline int version() const

versioning

inline void version(int v)
inline double zed() const
double zedMax(double r) const
double zedMin(double r) const

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

inline double zedMinus() const

z at the most backward end of the RoI

inline double zedOuterMinus() const

z at the most backward end of the RoI

inline double zedOuterPlus() const

z at the most forward end of the RoI

inline double zedPlus() const

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 z at the most forward end of the RoI

Public Static Functions

static inline double zedWidthDefault()
static void zedWidthDefault(double d)

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

Public Static Attributes

static constexpr bool FULLSCAN = true

convenient

static constexpr bool ROI = false

Private Members

bool m_composite = {}

flag this as a composite 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_dzdrMinus = {}

dz/dr at the rear of the RoI

float m_dzdrPlus = {}

dz/dr at the front of the RoI

float m_eta = {}

eta of RoI center

float m_etaMinus = {}

eta of RoI at zedMinus

float m_etaPlus = {}

eta of RoI at zedPlus

bool m_fullscan = {}

flag this as a full detector RoI

unsigned int m_l1Id = {0}

lvl1 event number

bool m_manageConstituents = {}

flag to determine whether constituents should be managed

float m_phi = {}

phi of RoI center

float m_phiMinus = {}

most negative RoI in azimuthal

float m_phiPlus = {}

most positive RoI in azimuthal

std::vector<const RoiDescriptor*> m_roiDescriptors

roi constituents

unsigned int m_roiId = {0}

RoI number.

unsigned int m_roiWord = {0}

lvl1 RoI word from which this RoI was initially constructed

int m_version = {}

transient version identifier

float m_zed = {}

zed of RoI center

float m_zedMinus = {}

z position at most negative position along the beamline

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)

float m_zedPlus = {}

z position at most positive position along the beamline

Private Static Attributes

static std::atomic<bool> s_firstInstanceCreated

to ensure default width is only set once at job startup

static std::atomic<double> s_zedWidthDefault

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