ATLAS Offline Software
Loading...
Searching...
No Matches
RPCdecoder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONCABLINGTOOLS_RPCDECODER_H
6#define MUONCABLINGTOOLS_RPCDECODER_H
7
8#include <iostream>
9#include <sstream>
10
12
14public:
16
17private:
18 static const int s_value_boundaries[4][2];
19 static const char s_value_descriptions[4][15];
21private:
22 bool m_fail = false;
23
24private:
25 unsigned int m_code = 0U;
26
27 int m_strip_type = 0;
30 int m_rpc_layer = 0;
33
34 void reset(void);
35 void reset_status(void);
36 void reset_data(void);
37
38 void set_indexes(unsigned int);
39 void set_code(int, int, int, int, int, int);
40 void fault_decoding(int, value_type);
41
42public:
43 RPCdecoder();
44 RPCdecoder(unsigned int);
45 RPCdecoder(int, int, int, int, int, int);
46 RPCdecoder(ViewType, int, int, int, int, int);
47
48 RPCdecoder(const RPCdecoder& deco);
49 RPCdecoder& operator=(const RPCdecoder& deco);
50
51 ~RPCdecoder() = default;
52
53public:
54 RPCdecoder& operator()(unsigned int);
55 RPCdecoder& operator()(ViewType, int, int, int, int, int);
56 RPCdecoder& operator()(int, int, int, int, int, int);
57
58public:
59 operator bool() { return !m_fail; }
60
61public:
62 bool OK(int, value_type) const;
63
64 unsigned int code(void) const { return m_code; }
65 int strip_type(void) const { return m_strip_type; }
66 int logic_sector(void) const { return m_logic_sector; }
67 int lvl1_station(void) const { return m_lvl1_station; }
68 int rpc_layer(void) const { return m_rpc_layer; }
69 int rpc_z_index(void) const { return m_rpc_z_index; }
70 int strip_number(void) const { return m_strip_number; }
71 int cabling_code(void) const { return m_strip_number + m_rpc_z_index * 100 + m_rpc_layer * 10000; }
72
73 ViewType view(void) const;
74 HalfType half_barrel(void) const;
75 int side2type(ViewType side) const;
76
77 void Print(std::ostream&, bool) const;
78};
79
80#endif
ViewType
Definition RPCdef.h:8
HalfType
Definition RPCdef.h:9
int cabling_code(void) const
Definition RPCdecoder.h:71
unsigned int code(void) const
Definition RPCdecoder.h:64
void reset_status(void)
int m_rpc_z_index
Definition RPCdecoder.h:31
void fault_decoding(int, value_type)
int m_strip_type
Definition RPCdecoder.h:27
RPCdecoder & operator()(unsigned int)
int strip_type(void) const
Definition RPCdecoder.h:65
int m_rpc_layer
Definition RPCdecoder.h:30
static const int s_value_boundaries[4][2]
Definition RPCdecoder.h:14
~RPCdecoder()=default
void set_indexes(unsigned int)
int side2type(ViewType side) const
int rpc_layer(void) const
Definition RPCdecoder.h:68
static const char s_value_descriptions[4][15]
Definition RPCdecoder.h:20
int m_lvl1_station
Definition RPCdecoder.h:29
int strip_number(void) const
Definition RPCdecoder.h:70
int lvl1_station(void) const
Definition RPCdecoder.h:67
int m_logic_sector
Definition RPCdecoder.h:28
int logic_sector(void) const
Definition RPCdecoder.h:66
HalfType half_barrel(void) const
int m_strip_number
Definition RPCdecoder.h:32
void set_code(int, int, int, int, int, int)
void reset_data(void)
unsigned int m_code
Definition RPCdecoder.h:25
void Print(std::ostream &, bool) const
RPCdecoder & operator=(const RPCdecoder &deco)
void reset(void)
int rpc_z_index(void) const
Definition RPCdecoder.h:69
ViewType view(void) const
bool m_fail
Definition RPCdecoder.h:22
bool OK(int, value_type) const