ATLAS Offline Software
CscRawDataCollection.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 MUONBYTESTREAM_CSCCRAWDATACOLLECTION_H
6 #define MUONBYTESTREAM_CSCCRAWDATACOLLECTION_H
7 
8 
9 
10 #include "MuonRDO/CscRawData.h"
12 #include "AthenaKernel/CLASS_DEF.h"
14 #include <map>
15 
23 class CscRawDataCollection : public DataVector<CscRawData>
24 {
25 
26 private:
27 
30 
33 
37 
40 
43 
46 
49 
52 
54  std::vector<uint16_t> m_rpuID;
55  std::vector<uint8_t> m_dataType;
56 
61  std::vector<uint16_t> m_spuCount;
62 
65 
66 public:
67 
69  typedef uint16_t ID;
70  typedef CscRawData DIGIT;
71 
74  : DataVector<CscRawData>(), m_id(id) {
75  m_numRPU = 0;
76  m_samplingPhase = false;
77  m_triggerType = false;
78  m_firstBitSummary = 0x0;
79  m_eventType = 0x0;
80  m_rpuID.clear();
81  m_dataType.clear();
82  m_spuCount.resize(10,0);
83  m_scaAddress = 0x0;
84  m_idHash = m_id;
85  m_rodId = 0;
86  m_subDetectorId = 0;
87  }
88 
90  : DataVector<CscRawData>(), m_id(0) {
91  m_numRPU = 0;
92  m_samplingPhase = false;
93  m_triggerType = false;
94  m_firstBitSummary = 0x0;
95  m_eventType = 0x0;
96  m_rpuID.clear();
97  m_dataType.clear();
98  m_spuCount.resize(10,0);
99  m_scaAddress = 0x0;
100  m_rodId = 0;
101  m_subDetectorId = 0;
102  }
103 
105 
107  uint16_t identify() const {return m_id;}
108 
111 
112  uint16_t rodId() const {return m_rodId;}
114  uint16_t numRPU() const { return m_rpuID.size(); }
115  const std::vector<uint16_t> & rpuID() const { return m_rpuID; }
116  const std::vector<uint8_t> & dataType() const { return m_dataType; }
117  bool samplingPhase() const {return m_samplingPhase; }
118  bool triggerType() const { return m_triggerType; }
120  uint32_t eventType () const { return m_eventType; }
121  uint8_t calAmplitude() const;
122  uint8_t calLayer() const;
123  uint32_t scaAddress() const { return m_scaAddress; }
124 
125  uint16_t numSamples() const;
126  uint16_t latency() const;
127  uint8_t rate() const;
128 
132  bool sparsified () const;
133  bool neutron () const;
134  bool calEnabled() const;
135 
139  uint16_t spuCount(unsigned int i) const
140  {
141  if (i<10) return m_spuCount[i];
142  else return 0x0;
143  }
144 
145  const std::vector<uint16_t>& spuCount() const { return m_spuCount; }
146 
151 
153  void setIdentifyHash(const IdentifierHash& idHash) { m_idHash=idHash;}
156  void set_triggerType() { m_triggerType = true; }
160 
161  void set_scaAddress( const uint32_t sca ) { m_scaAddress = sca; }
162  void set_spuCount ( unsigned int i, uint16_t count)
163  { if ( i<10 ) m_spuCount[i]=count; }
164  void set_spuCount ( const std::vector<uint16_t>& spuCount)
165  { m_spuCount = spuCount; }
166 
167  void setSamplingRate (const uint16_t rate);
168  void setNumSamples (const uint16_t n);
169  void setLatency (const uint16_t latency);
170  void setNumDPU (const uint16_t numDPU);
171 
173  void set_sparsified ();
174 
176  void set_neutron ();
177 
179  void set_enableCal ();
180 
182  void set_calAmplitude ( const uint8_t calAmp );
183 
185  void set_calLayer ( const uint8_t calLay );
186 
187  void setRPUID (const std::vector<uint16_t>& rpuID) { m_rpuID = rpuID; }
188  void addRPU (const uint16_t rpuID ) { m_rpuID.push_back(rpuID); }
189  void addDataType (const uint8_t dataType ) { m_dataType.push_back(dataType); }
190  void set_dataType( const unsigned int i, const uint8_t dataType) {
191  if ( i < m_dataType.size() ) m_dataType[i] = dataType;
192  }
193  void set_dataType( const std::vector<uint8_t>& dataType)
194  { m_dataType = dataType; }
195 };
196 
198 
199 /* Class_Def needed only for persistency */
202 
204 std::ostream& operator << ( std::ostream& sl, const CscRawDataCollection& coll);
205 
206 #endif
207 
CscRawDataCollection::set_enableCal
void set_enableCal()
is calibration enabled
Definition: CscRawDataCollection.cxx:91
CscRawDataCollection::set_triggerType
void set_triggerType()
Definition: CscRawDataCollection.h:156
CscRawDataCollection::spuCount
const std::vector< uint16_t > & spuCount() const
Definition: CscRawDataCollection.h:145
CscRawDataCollection::CscRawDataCollection
CscRawDataCollection()
Definition: CscRawDataCollection.h:89
CscRawDataCollection::addDataType
void addDataType(const uint8_t dataType)
Definition: CscRawDataCollection.h:189
CscRawDataCollection::identify
uint16_t identify() const
access methods
Definition: CscRawDataCollection.h:107
CscRawDataCollection::neutron
bool neutron() const
is neutron rejection ON?
Definition: CscRawDataCollection.cxx:49
CscRawDataCollection::set_spuCount
void set_spuCount(unsigned int i, uint16_t count)
Definition: CscRawDataCollection.h:162
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
CscRawDataCollection::set_calLayer
void set_calLayer(const uint8_t calLay)
set the layer number where the calibration is been done
Definition: CscRawDataCollection.cxx:103
CscRawDataCollection::set_dataType
void set_dataType(const std::vector< uint8_t > &dataType)
Definition: CscRawDataCollection.h:193
CscRawDataCollection::set_samplingPhase
void set_samplingPhase(bool flag)
Definition: CscRawDataCollection.h:155
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CscRawDataCollection::set_spuCount
void set_spuCount(const std::vector< uint16_t > &spuCount)
Definition: CscRawDataCollection.h:164
CscRawDataCollection::DIGIT
CscRawData DIGIT
Definition: CscRawDataCollection.h:70
CscRawDataCollection::m_dataType
std::vector< uint8_t > m_dataType
Definition: CscRawDataCollection.h:55
CscRawDataCollection::set_neutron
void set_neutron()
is neutron rejection applied?
Definition: CscRawDataCollection.cxx:85
CscRawDataCollection::set_eventType
void set_eventType(const uint32_t eventType)
Definition: CscRawDataCollection.h:159
CscRawDataCollection::setSubDetectorId
void setSubDetectorId(uint16_t subDetectorId)
Definition: CscRawDataCollection.h:149
CscRawDataCollection::sparsified
bool sparsified() const
is sparsified data? is neutron rejection ON? is calibration enabled?
Definition: CscRawDataCollection.cxx:44
CscRawDataCollection::rpuID
const std::vector< uint16_t > & rpuID() const
Definition: CscRawDataCollection.h:115
CscRawDataCollection::samplingPhase
bool samplingPhase() const
Definition: CscRawDataCollection.h:117
CscRawDataCollection::m_eventType
uint32_t m_eventType
event type/data type
Definition: CscRawDataCollection.h:51
CscRawDataCollection::addRPU
void addRPU(const uint16_t rpuID)
Definition: CscRawDataCollection.h:188
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
CscRawDataCollection::set_samplingPhase
void set_samplingPhase()
Definition: CscRawDataCollection.h:154
CscRawDataCollection::m_scaAddress
uint32_t m_scaAddress
SCA Address.
Definition: CscRawDataCollection.h:64
CscRawDataCollection::eventType
uint32_t eventType() const
Definition: CscRawDataCollection.h:120
CscRawDataCollection::set_firstBitSummary
void set_firstBitSummary(const uint8_t summary)
Definition: CscRawDataCollection.h:158
CscRawDataCollection::set_triggerType
void set_triggerType(bool flag)
Definition: CscRawDataCollection.h:157
CscRawDataCollection::setOnlineId
void setOnlineId(uint16_t id)
Definition: CscRawDataCollection.h:150
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
CscRawDataCollection::calLayer
uint8_t calLayer() const
Calibration layer.
Definition: CscRawDataCollection.cxx:34
CscRawDataCollection::m_samplingPhase
bool m_samplingPhase
sampling phase
Definition: CscRawDataCollection.h:42
CscRawDataCollection::latency
uint16_t latency() const
Definition: CscRawDataCollection.cxx:16
CscRawDataCollection::ID
uint16_t ID
typedef required by container
Definition: CscRawDataCollection.h:69
CscRawDataCollection::triggerType
bool triggerType() const
Definition: CscRawDataCollection.h:118
CscRawDataCollection::identifyHash
IdentifierHash identifyHash() const
Returns the OFFLINE identifier hash for this collection.
Definition: CscRawDataCollection.h:110
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
CscRawDataCollection::dataType
const std::vector< uint8_t > & dataType() const
Definition: CscRawDataCollection.h:116
CscRawDataCollection::setIdentifyHash
void setIdentifyHash(const IdentifierHash &idHash)
sets the OFFLINE IdentifierHash for this collection
Definition: CscRawDataCollection.h:153
lumiFormat.i
int i
Definition: lumiFormat.py:92
CscRawDataCollection::firstBitSummary
uint8_t firstBitSummary() const
Definition: CscRawDataCollection.h:119
beamspotman.n
n
Definition: beamspotman.py:731
CscRawDataCollection::rodId
uint16_t rodId() const
Definition: CscRawDataCollection.h:112
CscRawDataCollection::setRodId
void setRodId(uint16_t rodId)
set methods - the name should be self-descriptive
Definition: CscRawDataCollection.h:148
CscRawDataCollection::calAmplitude
uint8_t calAmplitude() const
Calibration pulser amplitude.
Definition: CscRawDataCollection.cxx:39
CscRawDataCollection::scaAddress
uint32_t scaAddress() const
Definition: CscRawDataCollection.h:123
master.flag
bool flag
Definition: master.py:29
CscRawDataCollection::set_scaAddress
void set_scaAddress(const uint32_t sca)
Definition: CscRawDataCollection.h:161
CscRawDataCollection::m_triggerType
bool m_triggerType
trigger Type
Definition: CscRawDataCollection.h:45
CscRawDataCollection::calEnabled
bool calEnabled() const
is calibration enabled?
Definition: CscRawDataCollection.cxx:54
CscRawDataCollection::setRPUID
void setRPUID(const std::vector< uint16_t > &rpuID)
Definition: CscRawDataCollection.h:187
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
CscRawDataCollection
Collection of CSC Raw Hits, arranged according to CSC Detector Elements Author: Ketevi A.
Definition: CscRawDataCollection.h:24
CscRawDataCollection::set_sparsified
void set_sparsified()
is this sparsified data?
Definition: CscRawDataCollection.cxx:79
CscRawDataCollection::m_subDetectorId
uint16_t m_subDetectorId
Definition: CscRawDataCollection.h:36
CscRawDataCollection::numSamples
uint16_t numSamples() const
Definition: CscRawDataCollection.cxx:8
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
CscRawDataCollection::CscRawDataCollection
CscRawDataCollection(uint32_t id)
Default constructor.
Definition: CscRawDataCollection.h:73
IdentifierHash.h
CscRawDataCollection::m_numRPU
uint16_t m_numRPU
number of RPU
Definition: CscRawDataCollection.h:39
CscRawData.h
CscRawDataCollection::m_idHash
IdentifierHash m_idHash
Offline IdentifierHash for this collection.
Definition: CscRawDataCollection.h:32
CscRawDataCollection::set_dataType
void set_dataType(const unsigned int i, const uint8_t dataType)
Definition: CscRawDataCollection.h:190
CscRawDataCollection::~CscRawDataCollection
virtual ~CscRawDataCollection()
Definition: CscRawDataCollection.h:104
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
CscRawData
Class to hold the electronic output for a single CSC readout channel: n sampling ADC data + the addre...
Definition: CscRawData.h:21
CscRawDataCollection::m_rpuID
std::vector< uint16_t > m_rpuID
RPU ID and data type.
Definition: CscRawDataCollection.h:54
CscRawDataCollection::setNumSamples
void setNumSamples(const uint16_t n)
insert the number of samples into the detector event type word
Definition: CscRawDataCollection.cxx:67
CscRawDataCollection::numRPU
uint16_t numRPU() const
Definition: CscRawDataCollection.h:114
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
CscRawDataCollection::m_firstBitSummary
uint8_t m_firstBitSummary
First Bit Summary.
Definition: CscRawDataCollection.h:48
CscRawDataCollection::setSamplingRate
void setSamplingRate(const uint16_t rate)
insert the rate into the detector event type word - the rate can 20 or 40 MHz
Definition: CscRawDataCollection.cxx:59
CscRawDataCollection::m_id
uint32_t m_id
Identifier of this collection.
Definition: CscRawDataCollection.h:29
CscRawDataCollection::set_calAmplitude
void set_calAmplitude(const uint8_t calAmp)
set the calibration amplitude
Definition: CscRawDataCollection.cxx:97
IdentifierHash
Definition: IdentifierHash.h:38
CLASS_DEF.h
macros to associate a CLID to a type
CscRawDataCollection::m_rodId
uint16_t m_rodId
online ROD Identifier
Definition: CscRawDataCollection.h:35
CscRawDataCollection::spuCount
uint16_t spuCount(unsigned int i) const
return the SPU cluster counts For all the non-precision layers,
Definition: CscRawDataCollection.h:139
CscRawDataCollection::subDetectorId
uint16_t subDetectorId() const
Definition: CscRawDataCollection.h:113
CscRawDataCollection::setLatency
void setLatency(const uint16_t latency)
insert the latency into the detector event type word
Definition: CscRawDataCollection.cxx:73
CscRawDataCollection::rate
uint8_t rate() const
the rate could be 25 or 50 ns
Definition: CscRawDataCollection.cxx:24
CscRawDataCollection::m_spuCount
std::vector< uint16_t > m_spuCount
cluster counts for 10 SPU: 5 SPU in each chamber or RPU! For Chamber CSS, RPU ID = 5 and for CSL RPU ...
Definition: CscRawDataCollection.h:61
CscRawDataCollection::setNumDPU
void setNumDPU(const uint16_t numDPU)
obsolete - just backward compatibility with old data
Definition: CscRawDataCollection.cxx:110
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65