4#ifndef MUONREADOUTGEOMETRYR4_WIREGROUPDESIGN_H
5#define MUONREADOUTGEOMETRYR4_WIREGROUPDESIGN_H
40 unsigned int wireNum)
const;
47 unsigned int wireNum)
const;
54 unsigned int wireNum)
const;
64 unsigned int wireNum)
const;
72 void print(std::ostream& ostr)
const override final;
78 wireGroup(
unsigned int nWires,
unsigned int accWires):
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
std::optional< Amg::Vector2D > CheckVector2D
void declareGroup(const unsigned int x)
Adds a new group of wires to the design.
bool operator<(const WireGroupDesign &other) const
set sorting operator
int stripNumber(const Amg::Vector2D &pos) const override
Calculates the number of the strip whose center is closest to the given point.
WireGroupDesign()=default
double m_wireCutout
Wire length available for digitization in a gas Gap.
unsigned int numWiresInGroup(unsigned int groupNum) const
Returns the number of wires in a given group.
unsigned int numPitchesToGroup(unsigned int groupNum) const
Returns the number of wire pitches to reach the given group.
double wireCutout() const
Extract the wireCutout for a wireGroup layer.
CheckVector2D leftWireEdge(unsigned int groupNum, unsigned int wireNum) const
Returns the edge point at negative y.
CheckVector2D wirePosition(unsigned int groupNum, unsigned int wireNum) const
Returns the positition of the i-th wire in the g-th group groupNum [1; numStrips() wire number [1; nu...
void print(std::ostream &ostr) const override final
Dump properties to the ostr.
std::pair< int, int > wireNumber(const Amg::Vector2D &extPos) const
Returns a pair where the first component indicate the wire group number and the second one returns th...
unsigned int nAllWires() const
Returns the number of all wires.
double wireLength(unsigned int groupNum, unsigned int wireNum) const
Returns the length of the i-th wire in group j.
CheckVector2D rightWireEdge(unsigned int groupNum, unsigned int wireNum) const
Returns the edge point at positive y.
void defineWireCutout(const double wireCutout)
Define the wirelength available for digitization in a gasGap.
Amg::Vector2D stripPosition(int stripNum) const override final
Returns the center of the wire group.
wireGrpVector::const_iterator wireGrpVectorItr
std::vector< wireGroup > wireGrpVector
Eigen::Matrix< double, 2, 1 > Vector2D
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
std::set< WireDesignPtr, WireDesignSorter > WireGroupDesignSet
GeoModel::TransientConstSharedPtr< WireGroupDesign > WireDesignPtr
bool operator()(const WireGroupDesign &a, const WireGroupDesign &b) const
bool operator()(const WireDesignPtr &a, const WireDesignPtr &b) const
unsigned int accumlWires
Number of all wires in the previous groups.
unsigned int numWires
Number of wires in this group.
wireGroup(unsigned int nWires, unsigned int accWires)