|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #include <GaudiKernel/IMessageSvc.h>
17 #include "GaudiKernel/MsgStream.h"
35 m_readoutVersion(Version),
37 m_nPhiChambers(NCHRNG),
38 m_nStrips{std::move(numStrips)} {
40 for (
int iGap =0 ; iGap < MaxNGaps; ++iGap){
41 m_nWires[iGap].resize(numWireGangs[iGap]);
42 m_nAccWires[iGap].resize(numWireGangs[iGap]);
44 for (
int iGang = 0; iGang < MaxNGangs; ++iGang) {
45 if (iGang < numWireGangs[0]) {
46 m_nWires[0][iGang] = IWGS1[iGang];
47 m_totalWires[0] += IWGS1[iGang];
49 if (iGang < numWireGangs[1]) {
50 m_nWires[1][iGang] = IWGS2[iGang];
51 m_totalWires[1] += IWGS2[iGang];
53 if (iGang < numWireGangs[2]) {
54 m_nWires[2][iGang] = IWGS3[iGang];
55 m_totalWires[2] += IWGS3[iGang];
58 for (
size_t iGap = 0; iGap < m_nWires.size(); ++iGap) {
60 const int totWires = totalWires(iGap + 1);
61 int accumWires = totWires;
62 for (
int iGang = m_nWires[iGap].
size() - 1; iGang >= 0; --iGang) {
63 accumWires -= m_nWires[iGap][iGang];
64 m_nAccWires[iGap][iGang] = accumWires;
82 std::move(IWGS1), std::move(IWGS2), std::move(IWGS3),
83 std::move(numStrips)){
111 throw std::out_of_range(
"input gas gap index is incorrect");
119 throw std::out_of_range(
"input gas gap index is incorrect");
126 ATH_MSG_FATAL( __func__<<
":"<<__LINE__<<
" gasGap " <<
gasGap <<
" or gang " << gang <<
" out of allowed range" );
127 throw std::out_of_range(
"input gas gap or wire gang index are incorrect");
133 ATH_MSG_FATAL( __func__<<
":"<<__LINE__<<
" gasGap " <<
gasGap <<
" or gang " << gang <<
" out of allowed range" );
134 throw std::out_of_range(
"input gas gap or wire gang index are incorrect");
140 ATH_MSG_FATAL( __func__<<
":"<<__LINE__<<
" gasGap " <<
gasGap <<
" or gang " << gang <<
" out of allowed range" );
141 throw std::out_of_range(
"input gas gap or wire gang index are incorrect");
152 throw std::out_of_range(
"input gas gap index is incorrect");
162 <<
" out of range in TgcReadoutParams::stripPositionOnLargeBase for TgcReadoutParams of name/type " <<
m_chamberName <<
"/"
164 throw std::out_of_range(
"invalid strip index");
172 <<
" out of range in TgcReadoutParams::stripPositionOnShortBase for TgcReadoutParams of name/type " <<
m_chamberName <<
"/"
174 throw std::out_of_range(
"invalid strip index");
182 <<
" out of range in TgcReadoutParams::stripPositionOnLargeBase for TgcReadoutParams of name/type " <<
m_chamberName <<
"/"
184 throw std::out_of_range(
"invalid strip index");
Ensure that the Athena extensions are properly loaded.
std::array< std::vector< int >, MaxNGaps > m_nAccWires
Map describing the number of all wires up to gang i in gasgap j.
singleton-like access to IMessageSvc via open function and helper
StripArray m_stripPositionOnShortBase
double m_physicalDistanceFromBase
double physicalDistanceFromBase() const
std::array< double, MaxNStrips > StripArray
int totalWires(int gasGap) const
Returns the total number of wires in a given gang.
std::string m_chamberName
int nWires(int gasGap, int gang) const
Returns the number of wires in a given gang.
std::array< std::vector< int >, MaxNGaps > m_nWires
Map of number of wires in a given wire gang & gas gap.
int nStrips(int gasGap) const
bool invalidGasGap(int gasGap) const
std::array< int, MaxNGaps > GasGapIntArray
double wirePitch() const
Returns the wire pitch.
Class to provide easy MsgStream access and capabilities.
double stripPositionOnShortBase(int strip) const
Returns the signed distance of the i-th's strip's left edge w.r.t.
int nSummedWires(int gasGap, int gang) const
Returns the sum of all wires from gang [1 - i)
bool invalidGang(int gang) const
StripArray m_stripPositionOnLargeBase
These 2 arrays represent the left edges of the i-th strip in a Tgc chamber The numbers are given as t...
int nWireGangs(int gasGap) const
Returns the number of wire gangs.
TgcReadoutParams()
Constructor not setting any parameters.
StripArray m_stripPositionCenter
The position of the strip center is defined as the intersector of the large and short edge strip posi...
std::array< int, MaxNGangs > WiregangArray
int readoutVersion() const
double stripCenter(int strip) const
Returns the signed distance along the chamber edge of the strip expressed at the chamber center.
double nPitchesToGang(int gasGap, int gang) const
Returns the number of wire pitches that have to be travelled to reach gang i.
GasGapIntArray m_totalWires
double stripPositionOnLargeBase(int strip) const
Returns the signed distance of the i-th's strip's left edge w.r.t the center of the bottom chamber ed...