ATLAS Offline Software
Loading...
Searching...
No Matches
MdtCsm.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 MUONRDO_MDTCSM_H
6#define MUONRDO_MDTCSM_H
7
8#include "MuonRDO/MdtAmtHit.h"
11#include "Identifier/Identifier.h"
13
14#include <cstdint>
15#include <iosfwd>
16
19//DataVector is not move-assignable, so neither is this
20//coverity[MISSING_MOVE_ASSIGNMENT]
21class MdtCsm : public DataVector<MdtAmtHit>
22{
23
24 private:
25
28 uint16_t m_SubDetId{};
29 uint16_t m_MrodId{};
30 uint16_t m_CsmId{};
31
32 public:
33 //typedef
34 typedef Identifier ID;
35 typedef MdtAmtHit DIGIT;
36
37 friend class MdtCsmCnv_p1;
38
40 MdtCsm() = default;
41
44 MdtCsm(const Identifier id, const IdentifierHash idHash);
45
47 MdtCsm(const Identifier id, const IdentifierHash idHash, uint16_t SubDetId, uint16_t MrodId, uint16_t CsmId);
48
49 virtual ~MdtCsm() = default;
50
51 //
52 void set_values(const Identifier id, const IdentifierHash idHash, uint16_t SubDetId, uint16_t MrodId, uint16_t CsmId);
53
55 Identifier identify() const {return m_Id;}
56
59
61 uint16_t SubDetId() const {return m_SubDetId;}
63 uint16_t MrodId() const {return m_MrodId;}
65 uint16_t CsmId() const {return m_CsmId;}
66
67};
68
70MsgStream& operator << ( MsgStream& sl, const MdtCsm& coll);
71
73std::ostream& operator << ( std::ostream& sl, const MdtCsm& coll);
74
75
76CLASS_DEF(MdtCsm, 4188, 1)
77
78// Class needed only for persistency
80CLASS_DEF( MDT_CSM_vector, 4180, 1 )
81
82#endif // MUONRDO_MDTCSM_H
83
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
An STL vector of pointers that by default owns its pointed-to elements.
MsgStream & operator<<(MsgStream &sl, const MdtCsm &coll)
Overload of << operator for MsgStream for debug output.
Definition MdtCsm.cxx:40
DataVector< MdtCsm > MDT_CSM_vector
Definition MdtCsm.h:79
Derived DataVector<T>.
Definition DataVector.h:795
DataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
This is a "hash" representation of an Identifier.
MDT RDO's : data from a single channel of an AMT Atlas Muon TDC.
Definition MdtAmtHit.h:20
MDT RDOs : Chamber Service Module, container of AmtHits of a single Mdt chamber.
Definition MdtCsm.h:22
uint16_t m_MrodId
Mrod number.
Definition MdtCsm.h:29
MdtAmtHit DIGIT
Definition MdtCsm.h:35
uint16_t CsmId() const
Returns the CSM online id (online identifier inside a MROD)
Definition MdtCsm.h:65
IdentifierHash identifyHash() const
Returns the CSM offline identifier hash (chamber offline id)
Definition MdtCsm.h:58
MdtCsm()=default
Default constructor.
uint16_t MrodId() const
Returns the MROD id from the CSM header.
Definition MdtCsm.h:63
friend class MdtCsmCnv_p1
Definition MdtCsm.h:37
Identifier m_Id
Definition MdtCsm.h:26
uint16_t m_SubDetId
Sub-detector identifier.
Definition MdtCsm.h:28
void set_values(const Identifier id, const IdentifierHash idHash, uint16_t SubDetId, uint16_t MrodId, uint16_t CsmId)
Definition MdtCsm.cxx:30
Identifier identify() const
Returns the CSM offline identifier (chamber offline id)
Definition MdtCsm.h:55
uint16_t m_CsmId
Csm link number.
Definition MdtCsm.h:30
uint16_t SubDetId() const
Returns the sub-detector Id.
Definition MdtCsm.h:61
Identifier ID
Definition MdtCsm.h:34
virtual ~MdtCsm()=default
IdentifierHash m_idHash
Offline idenfifier hash corresponding to this collection.
Definition MdtCsm.h:27