|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONREADOUTGEOMETRYR4_WIREGROUPDESIGN_H
5 #define MUONREADOUTGEOMETRYR4_WIREGROUPDESIGN_H
20 class WireGroupDesign;
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):
void print(std::ostream &ostr) const override final
Dump properties to the ostr.
void defineWireCutout(const double wireCutout)
Define the wirelength available for digitization in a gasGap.
double wireCutout() const
Extract the wireCutout for a wireGroup layer.
wireGrpVector::const_iterator wireGrpVectorItr
CheckVector2D rightWireEdge(unsigned int groupNum, unsigned int wireNum) const
Returns the edge point at positive y.
Eigen::Matrix< double, 2, 1 > Vector2D
WireGroupDesign()=default
helper construct to cache the number of wires in each group as well as the accumulated number of wire...
unsigned int numWiresInGroup(unsigned int groupNum) const
Returns the number of wires in a given group.
unsigned int nAllWires() const
Returns the number of all wires.
bool operator()(const WireDesignPtr &a, const WireDesignPtr &b) const
void declareGroup(const unsigned int x)
Adds a new group of wires to the design.
CheckVector2D leftWireEdge(unsigned int groupNum, unsigned int wireNum) const
Returns the edge point at negative y.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
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...
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...
double m_wireCutout
Wire length available for digitization in a gas Gap.
std::vector< wireGroup > wireGrpVector
int stripNumber(const Amg::Vector2D &pos) const override
Calculates the number of the strip whose center is closest to the given point.
unsigned int numPitchesToGroup(unsigned int groupNum) const
Returns the number of wire pitches to reach the given group.
bool operator()(const WireGroupDesign &a, const WireGroupDesign &b) const
unsigned int numWires
Number of wires in this group.
std::set< WireDesignPtr, WireDesignSorter > WireGroupDesignSet
unsigned int accumlWires
Number of all wires in the previous groups.
wireGroup(unsigned int nWires, unsigned int accWires)
bool operator<(const WireGroupDesign &other) const
set sorting operator
double wireLength(unsigned int groupNum, unsigned int wireNum) const
Returns the length of the i-th wire in group j.
Amg::Vector2D stripPosition(int stripNum) const override final
Returns the center of the wire group.
std::optional< Amg::Vector2D > CheckVector2D