Describes the Region of Ineterest geometry It has basically 9 parameters. More...
#include <RoiDescriptor.h>
Public Member Functions | |
| RoiDescriptor (bool fullscan=false) | |
| default constructor | |
| RoiDescriptor (double eta_, double etaMinus_, double etaPlus_, double phi_, double phiMinus_, double phiPlus_, double zed_=0, double zedMinus_=-zedWidthDefault, double zedPlus_=zedWidthDefault) | |
| constructor | |
| RoiDescriptor (double etaMinus_, double etaPlus_, double phiMinus_, double phiPlus_) | |
| constructor | |
| RoiDescriptor (const IRoiDescriptor &roi) | |
| copy constructor | |
| RoiDescriptor & | operator= (const IRoiDescriptor &r) |
| double | phi () const |
| Methods to retrieve data members. | |
| double | eta () const |
| double | zed () const |
| virtual unsigned int | roiId () const |
| virtual unsigned int | l1Id () const |
| virtual unsigned int | roiWord () const |
| double | zedPlus () const |
| z at the most forward end of the RoI | |
| double | zedMinus () const |
| z at the most backward end of the RoI | |
| double | etaPlus () const |
| gets eta at zedPlus | |
| double | etaMinus () const |
| gets eta at zMinus | |
| double | phiPlus () const |
| gets phiPlus | |
| double | phiMinus () const |
| gets phiMinus | |
| int | version () const |
| versioning | |
| void | version (int v) |
| virtual | operator std::string () const |
| output | |
| bool | isFullscan () const |
| is this a full scan RoI? | |
| virtual bool | composite () const |
| SuperRoI compatability methods. | |
| virtual void | setComposite (bool b=true) |
| virtual bool | manageConstituents () const |
| always manage constituents ??? | |
| virtual void | manageConstituents (bool b) |
| virtual unsigned | size () const |
| number of constituents | |
| virtual const IRoiDescriptor * | at (int i) const |
| find an RoiDescriptor constituent | |
| void | clear () |
| clear the vector | |
| void | push_back (const IRoiDescriptor *roi) |
| add and RoiDescriptor | |
| roi_iterator | begin () const |
| iterators | |
| roi_iterator | end () const |
| double | dzdrMinus () const |
| methods to determine whether coordinates or stubs are within the RoI | |
| double | dzdrPlus () const |
| dz/dr at the front of the RoI | |
| double | drdzMinus () const |
| dr/dz at the rear of the RoI | |
| double | drdzPlus () const |
| dr/dz at the front of the RoI | |
| double | zedMin (const double r) const |
| double | zedMax (const double r) const |
| double | zedOuterPlus () const |
| z at the most forward end of the RoI | |
| double | zedOuterMinus () const |
| z at the most backward end of the RoI | |
| double | rhoMin (const double z) const |
| double | rhoMax (const double z) const |
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 | |
| 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 const double | zedWidthDefault = 225 |
| default parameters - there may be better ways, but this will do | |
Friends | |
| class | TrigRoiDescriptorCnv_p2 |
| class | TrigRoiDescriptorCnv_p3 |
Describes the Region of Ineterest geometry It has basically 9 parameters.
| RoiDescriptor::RoiDescriptor | ( | bool | fullscan = false |
) |
default constructor
| fullscan | if fullscan is true, this RoI will span the entire detector |
if full scan, give it full detector limits just in case anyone doesn't bother to check whether the fullscan flag is set Fixme: these fullscan limits probably need to be set from somewhere constistently. static class variables ???
| RoiDescriptor::RoiDescriptor | ( | double | eta_, | |
| double | etaMinus_, | |||
| double | etaPlus_, | |||
| double | phi_, | |||
| double | phiMinus_, | |||
| double | phiPlus_, | |||
| double | zed_ = 0, |
|||
| double | zedMinus_ = -zedWidthDefault, |
|||
| double | zedPlus_ = zedWidthDefault | |||
| ) |
constructor
| 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::RoiDescriptor | ( | double | etaMinus_, | |
| double | etaPlus_, | |||
| double | phiMinus_, | |||
| double | phiPlus_ | |||
| ) |
constructor
| etaMinus | eta at rear of RoI | |
| etaPlus | eta at front of RoI | |
| phiMinus | minimum phi of RoI | |
| phiPlus | maximum phi of RoI |
| virtual bool RoiDescriptor::composite | ( | ) | const [inline, virtual] |
| void RoiDescriptor::construct | ( | double | eta, | |
| double | etaMinus, | |||
| double | etaPlus, | |||
| double | phi, | |||
| double | phiMinus, | |||
| double | phiPlus, | |||
| double | zed, | |||
| double | zedMinus, | |||
| double | zedPlus | |||
| ) | [protected] |
construct RoiDescriptor internals - similar to constructors
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
| double RoiDescriptor::dzdrMinus | ( | ) | const [inline, virtual] |
methods to determine whether coordinates or stubs are within the RoI
return the gradients dz/dr at the rear of the RoI
Implements IRoiDescriptor.
| RoiDescriptor & RoiDescriptor::operator= | ( | const IRoiDescriptor & | r | ) |
manging it's own constituents, so take a deep copy
these are already managed elsewhere, just copy the pointers
Reimplemented in TrigRoiDescriptor.
| double RoiDescriptor::phi | ( | ) | const [inline, virtual] |
| double RoiDescriptor::rhoMin | ( | const double | z | ) | const [virtual] |
accessors to calculate r position at position z along the RoI boundaries
Implements IRoiDescriptor.
| virtual unsigned int RoiDescriptor::roiId | ( | ) | const [inline, virtual] |
these quantities probably don't need to be used any more
Implements IRoiDescriptor.
Reimplemented in TrigRoiDescriptor.
| double RoiDescriptor::zedMin | ( | const double | r | ) | const [virtual] |
methods to calculate z position at the RoI boundary at a given radius
Implements IRoiDescriptor.
const double RoiDescriptor::zedWidthDefault = 225 [static, protected] |
default parameters - there may be better ways, but this will do
This should be set by some static class function during the overall configuration - perhaps by an RoiBuilder class
1.6.1