ATLAS Offline Software
Loading...
Searching...
No Matches
RPCchamber.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef RPCCHAMBER_H
6#define RPCCHAMBER_H
7
8#include <list>
9#include <vector>
10#include <climits>
11
12#include "GaudiKernel/MsgStream.h"
13
17
18namespace RPC_CondCabling {
19
20 class EtaCMA;
21 class WiredOR;
22 class SectorLogicSetup;
23
24 class RPCchamber : public CablingObject {
25 public:
30 chamberDefineParams() = default; // default constructor
31 chamberDefineParams(chamberDefineParams&&) = default; // move constructor
32 chamberDefineParams(const chamberDefineParams&) = default; // copy constructor
33 chamberDefineParams& operator=(const chamberDefineParams&) = default; // assignment operator
34
35 std::string chamberName{""}; // RPC chamber name
36
37 int stationEta{-INT_MAX};
38 int doubletR{-INT_MAX};
39 int doubletZ{-INT_MAX};
40
42
45
46 int etaStrips{0};
47 int phiStrips{0};
48
51
58 };
60 chamberParameters() = default; // default constructor
61 chamberParameters(chamberParameters&&) = default; // move constructor
62 chamberParameters(const chamberParameters&) = default; // copy constructor
63 chamberParameters& operator=(const chamberParameters&) = default; // assignment operator
64 };
65
66 private:
67 typedef std::vector<int> ReadoutCh;
68 typedef std::list<const EtaCMA*> CMAlist;
69 typedef std::list<const WiredOR*> WORlist;
70
72 int m_eta_strip_global{0}; // Start number of eta strips in global coordinate
73 int m_eta_conn_global{0}; // Start number of eta connector in global coo.
74
76
79
80 int residual(ViewType, int) const;
81 [[nodiscard]] std::string error(const std::string&) const;
82
83 public:
85 RPCchamber(const RPCchamber&) = default;
86 virtual ~RPCchamber();
87
88 RPCchamber& operator=(const RPCchamber&) = default;
89
90 void set_eta_st_global(int);
91 void set_eta_co_global(int);
92
93 int eta_strips() const;
94 int eta_connectors() const;
95 int eta_strip_global() const;
96 int eta_conn_global() const;
97 int phi_strips() const;
98
99 int phi_connectors() const;
100 int ijk_etaReadout() const;
101 int ijk_phiReadout() const;
102
103 const std::string& chamber_name() const;
104 std::string stationName() const;
105 int stationEta() const;
106 int doubletR() const;
107 int doubletZ() const;
108 int phiReadoutPannels() const;
109
110 int strips_in_Eta_Conn() const;
111 int strips_in_Phi_Conn() const;
112 const ReadoutCh& eta_read_mul() const;
113
114 const CMAlist& readoutCMAs() const;
115 const WORlist& readoutWORs() const;
116
117 std::string extendedName(int) const;
118 bool inversion(int) const;
119
120 bool local_strip(ViewType, int, int&) const;
121 bool global_strip(ViewType, HalfType, int, int&) const;
122
123 bool local_connector(ViewType, int, int&, int&, int&) const;
124 bool global_connector(ViewType, HalfType, int, int&, int&, int&) const;
125
126 bool Gstrip_2_Lnumber(ViewType, int, int&) const;
127 bool Gconn_2_Lnumber(ViewType, int, int&, int&) const;
128
129 void Print(std::ostream&, bool) const;
130
131 bool check();
132 bool setup(SectorLogicSetup&);
133
134 void add_cma(const EtaCMA*);
135 void add_wor(const WiredOR*);
136 void add_eta_channel(int);
137 };
138
139 inline std::ostream& operator<<(std::ostream& stream, const RPCchamber& cham) {
140 cham.Print(stream, false);
141 return stream;
142 }
143
144 inline MsgStream& operator<<(MsgStream& stream, const RPCchamber& cham) {
145 std::ostringstream oss;
146 cham.Print(oss, false);
147 return (stream << oss.str());
148 }
149
150} // namespace RPC_CondCabling
151#endif
ViewType
Definition RPCdef.h:8
HalfType
Definition RPCdef.h:9
CablingObject(const cablingParameters &, const std::string &)
RPCchamber(const RPCchamber::chamberParameters &params)
Helper struct to reduce the number of arguments in the constructor.
std::list< const WiredOR * > WORlist
Definition RPCchamber.h:69
bool global_strip(ViewType, HalfType, int, int &) const
RPCchamber(const RPCchamber &)=default
std::list< const EtaCMA * > CMAlist
Definition RPCchamber.h:68
const CMAlist & readoutCMAs() const
bool Gconn_2_Lnumber(ViewType, int, int &, int &) const
RPCchamber & operator=(const RPCchamber &)=default
std::string extendedName(int) const
bool global_connector(ViewType, HalfType, int, int &, int &, int &) const
void Print(std::ostream &, bool) const
std::string stationName() const
void add_wor(const WiredOR *)
bool setup(SectorLogicSetup &)
bool local_strip(ViewType, int, int &) const
void add_cma(const EtaCMA *)
const WORlist & readoutWORs() const
const std::string & chamber_name() const
bool local_connector(ViewType, int, int &, int &, int &) const
bool Gstrip_2_Lnumber(ViewType, int, int &) const
int residual(ViewType, int) const
chamberDefineParams m_params
Definition RPCchamber.h:71
const ReadoutCh & eta_read_mul() const
std::vector< int > ReadoutCh
Definition RPCchamber.h:67
X & operator<<(X &stream, CMAcablingdata &data)
Helper struct containing the minimum number of parameters on top of the CablingObject in order to cre...
Definition RPCchamber.h:29
chamberDefineParams(chamberDefineParams &&)=default
int stripsInPhiCon
Number of eta strips into connectors.
Definition RPCchamber.h:44
int stripsInEtaCon
Phi readout multiplicity.
Definition RPCchamber.h:43
int doubletZ
DoubletR as defined into the offline ID.
Definition RPCchamber.h:39
int doubletR
StaionEta as defined into the offline ID.
Definition RPCchamber.h:38
int etaStrips
Number of phi strips into connectors.
Definition RPCchamber.h:46
int phiConnectors
Number of eta connectors.
Definition RPCchamber.h:50
chamberDefineParams(const chamberDefineParams &)=default
int phiReadOutPanels
DoubletZ as defined into the offline ID.
Definition RPCchamber.h:41
int ijk_EtaReadOut
Number of phi connectors.
Definition RPCchamber.h:52
chamberDefineParams & operator=(const chamberDefineParams &)=default
int ijk_PhiReadOut
readout schema of the gas gaps in eta: 01 = gap 0 in layer 0, gap 1 in layer 1 10 = gap 0 in layer 1,...
Definition RPCchamber.h:55
chamberParameters(const chamberParameters &)=default
chamberParameters(chamberParameters &&)=default
chamberParameters & operator=(const chamberParameters &)=default