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