ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::sTgcPrepData Class Referencefinal

Class to represent sTgc measurements. More...

#include <sTgcPrepData.h>

Inheritance diagram for Muon::sTgcPrepData:
Collaboration diagram for Muon::sTgcPrepData:

Public Types

enum class  Author : uint8_t {
  unKnown = 0 , RdoToPrdConverter , TrigProcessor , SimpleClusterBuilder ,
  Caruana
}
enum class  Quality : uint8_t { unKnown = 0 }

Public Member Functions

 sTgcPrepData ()=default
 sTgcPrepData (const sTgcPrepData &)=delete
 sTgcPrepData (sTgcPrepData &&) noexcept=default
sTgcPrepDataoperator= (const sTgcPrepData &)=delete
sTgcPrepDataoperator= (sTgcPrepData &&) noexcept=default
 sTgcPrepData (const Identifier &RDOId, const IdentifierHash &idDE, Amg::Vector2D &&locpos, std::vector< Identifier > &&rdoList, Amg::MatrixX &&locErrMat, const MuonGM::sTgcReadoutElement *detEl, const int charge, const short int time, std::vector< uint16_t > &&stripNumbers, std::vector< short int > &&stripTimes, std::vector< int > &&stripCharges)
 Constructor.
 sTgcPrepData (const Identifier &RDOId, const IdentifierHash &idDE, Amg::Vector2D &&locpos, std::vector< Identifier > &&rdoList, Amg::MatrixX &&locErrMat, const MuonGM::sTgcReadoutElement *detEl, const int charge=0, const short int time=0)
virtual ~sTgcPrepData ()=default
 Destructor:
virtual const Amg::Vector3DglobalPosition () const override final
 Returns the global position.
virtual const MuonGM::sTgcReadoutElementdetectorElement () const override final
 Returns the detector element corresponding to this PRD.
virtual Trk::PrepRawDataType prdType () const override
 Interface method returning the prdType.
virtual MsgStream & dump (MsgStream &stream) const override final
 Dumps information about the PRD.
virtual std::ostream & dump (std::ostream &stream) const override final
 Dumps information about the PRD.
int charge () const
 Returns the bcBitMap of this PRD bit2 for Previous BC, bit1 for Current BC, bit0 for Next BC.
short int time () const
const std::vector< uint16_t > & stripNumbers () const
 returns the list of strip numbers
const std::vector< short int > & stripTimes () const
 returns the list of times
const std::vector< int > & stripCharges () const
 returns the list of charges
Quality quality () const
void setQuality (const Quality q)
Author author () const
void setAuthor (const Author a)
virtual IdentifierHash collectionHash () const
 Returns the IdentifierHash corresponding to the PRD collection in the PRD container.
Identifier identify () const
 return the identifier
const Amg::Vector2DlocalPosition () const
 return the local position reference
const std::vector< Identifier > & rdoList () const
 return the List of rdo identifiers (pointers)
const Amg::MatrixXlocalCovariance () const
 return const ref to the error matrix
bool hasLocalCovariance () const
 returns localCovariance().size()!=0
virtual bool type (PrepRawDataType type) const
 Interface method checking the type.
void setHashAndIndex (unsigned short collHash, unsigned short objIndex)
 TEMP for testing: might make some classes friends later ...
const IdentContIndexgetHashAndIndex () const

Static Public Member Functions

static std::size_t numberOfInstantiations ()

Static Public Attributes

static std::atomic_size_t s_numberOfInstantiations

Protected Attributes

CxxUtils::CachedUniquePtr< const Amg::Vector3Dm_globalPosition
 Global position of measurement.

Private Attributes

const MuonGM::sTgcReadoutElementm_detEl {nullptr}
 Cached pointer to the detector element - should never be zero.
int m_charge {0}
short int m_time {0}
std::vector< uint16_t > m_stripNumbers {}
 @list of strip numbers, time and charge, of the strips associated to the PRD
std::vector< short int > m_stripTimes {}
 strip times for the sTGCs will be available for the commissioning of the NSW.
std::vector< int > m_stripCharges {}
Quality m_quality {Quality::unKnown}
Author m_author {Author::unKnown}
Identifier m_clusId { 0 }
 PrepRawData ID, not const because of DataPool.
Amg::Vector2D m_localPos {}
 see derived classes for definition of meaning of LocalPosition
std::vector< Identifierm_rdoList {}
 Stores the identifiers of the RDOs.
Amg::MatrixX m_localCovariance {}
 See derived classes for definition of ErrorMatrix.
IdentContIndex m_indexAndHash
 Stores its own position (index) in collection plus the hash id for the collection (needed for the EL to IDC)

Detailed Description

Class to represent sTgc measurements.

Definition at line 20 of file sTgcPrepData.h.

Member Enumeration Documentation

◆ Author

enum class Muon::sTgcPrepData::Author : uint8_t
strong
Enumerator
unKnown 
RdoToPrdConverter 
TrigProcessor 
SimpleClusterBuilder 
Caruana 

Definition at line 99 of file sTgcPrepData.h.

99 : uint8_t{
100 unKnown = 0,
101 RdoToPrdConverter,
102 TrigProcessor,
103 SimpleClusterBuilder,
104 Caruana
105 };

◆ Quality

enum class Muon::sTgcPrepData::Quality : uint8_t
strong
Enumerator
unKnown 

Definition at line 107 of file sTgcPrepData.h.

107 : uint8_t{
108 unKnown = 0,
109 };

Constructor & Destructor Documentation

◆ sTgcPrepData() [1/5]

Muon::sTgcPrepData::sTgcPrepData ( )
default

◆ sTgcPrepData() [2/5]

Muon::sTgcPrepData::sTgcPrepData ( const sTgcPrepData & )
delete

◆ sTgcPrepData() [3/5]

Muon::sTgcPrepData::sTgcPrepData ( sTgcPrepData && )
defaultnoexcept

◆ sTgcPrepData() [4/5]

Muon::sTgcPrepData::sTgcPrepData ( const Identifier & RDOId,
const IdentifierHash & idDE,
Amg::Vector2D && locpos,
std::vector< Identifier > && rdoList,
Amg::MatrixX && locErrMat,
const MuonGM::sTgcReadoutElement * detEl,
const int charge,
const short int time,
std::vector< uint16_t > && stripNumbers,
std::vector< short int > && stripTimes,
std::vector< int > && stripCharges )

Constructor.

Parameters
RDOIdThe identifier of the central strip of the cluster
locposThe local coords of the measurement (this object will now own the LocalPostion)
rdoListVector of all the Identifiers of the strips used in this cluster
locErrMatThe error of the measurement (this object will now own the ErrorMatrix)
detElThe pointer to the Detector Element on which this measurement was made (must NOT be zero). Ownership is NOT taken (the pointer is assumed to belong to GeoModel and will not be deleted)
bcBitMapbitmap storing in which bunches the channel fired

Definition at line 10 of file sTgcPrepData.cxx.

21 : MuonCluster(RDOId, idDE, locpos, std::move(rdoList),std::move(locErrMat))
22 , m_detEl(detEl)
24 , m_time(time)
25 , m_stripNumbers(std::move(stripNumbers))
26 , m_stripTimes(std::move(stripTimes))
27 , m_stripCharges(std::move(stripCharges)) {}
int charge() const
Returns the bcBitMap of this PRD bit2 for Previous BC, bit1 for Current BC, bit0 for Next BC.
std::vector< uint16_t > m_stripNumbers
@list of strip numbers, time and charge, of the strips associated to the PRD
std::vector< short int > m_stripTimes
strip times for the sTGCs will be available for the commissioning of the NSW.
const std::vector< uint16_t > & stripNumbers() const
returns the list of strip numbers
short int time() const
const std::vector< int > & stripCharges() const
returns the list of charges
const MuonGM::sTgcReadoutElement * m_detEl
Cached pointer to the detector element - should never be zero.
const std::vector< short int > & stripTimes() const
returns the list of times
std::vector< int > m_stripCharges
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)

◆ sTgcPrepData() [5/5]

Muon::sTgcPrepData::sTgcPrepData ( const Identifier & RDOId,
const IdentifierHash & idDE,
Amg::Vector2D && locpos,
std::vector< Identifier > && rdoList,
Amg::MatrixX && locErrMat,
const MuonGM::sTgcReadoutElement * detEl,
const int charge = 0,
const short int time = 0 )

Definition at line 29 of file sTgcPrepData.cxx.

37 : MuonCluster(RDOId, idDE, locpos, std::move(rdoList), std::move(locErrMat))
38 , m_detEl(detEl)
40 , m_time(time){}

◆ ~sTgcPrepData()

virtual Muon::sTgcPrepData::~sTgcPrepData ( )
virtualdefault

Destructor:

Member Function Documentation

◆ author()

Author Muon::sTgcPrepData::author ( ) const
inline

Definition at line 114 of file sTgcPrepData.h.

114{ return m_author; }

◆ charge()

int Muon::sTgcPrepData::charge ( ) const
inline

Returns the bcBitMap of this PRD bit2 for Previous BC, bit1 for Current BC, bit0 for Next BC.

Definition at line 153 of file sTgcPrepData.h.

153{ return m_charge; }

◆ collectionHash()

IdentifierHash MuonCluster::collectionHash ( ) const
inlinevirtualinherited

Returns the IdentifierHash corresponding to the PRD collection in the PRD container.

Definition at line 97 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h.

98 {
99 return getHashAndIndex().collHash();
100 }
unsigned short collHash() const
Accessor to hash, obj index and combined index.
const IdentContIndex & getHashAndIndex() const

◆ detectorElement()

const MuonGM::sTgcReadoutElement * Muon::sTgcPrepData::detectorElement ( ) const
inlinefinaloverridevirtual

Returns the detector element corresponding to this PRD.

The pointer will be zero if the det el is not defined (i.e. it was not passed in by the ctor)

Implements Trk::PrepRawData.

Definition at line 138 of file sTgcPrepData.h.

138 {
139 return m_detEl;
140 }

◆ dump() [1/2]

MsgStream & Muon::sTgcPrepData::dump ( MsgStream & stream) const
finaloverridevirtual

Dumps information about the PRD.

Reimplemented from Muon::MuonCluster.

Definition at line 42 of file sTgcPrepData.cxx.

42 {
43 stream << MSG::INFO<<"sTgcPrepData {"<<std::endl;
44 MuonCluster::dump(stream);
45 stream<<"}"<<endmsg;
46 return stream;
47 }
#define endmsg
virtual MsgStream & dump(MsgStream &stream) const override
Dumps information about the PRD.

◆ dump() [2/2]

std::ostream & Muon::sTgcPrepData::dump ( std::ostream & stream) const
finaloverridevirtual

Dumps information about the PRD.

Reimplemented from Muon::MuonCluster.

Definition at line 49 of file sTgcPrepData.cxx.

49 {
50 stream << "sTgcPrepData {"<<std::endl;
51 MuonCluster::dump(stream);
52 stream<<"}"<<std::endl;
53 return stream;
54 }

◆ getHashAndIndex()

const IdentContIndex & Trk::PrepRawData::getHashAndIndex ( ) const
inherited

◆ globalPosition()

const Amg::Vector3D & Muon::sTgcPrepData::globalPosition ( ) const
inlinefinaloverridevirtual

Returns the global position.

Implements Muon::MuonCluster.

Definition at line 142 of file sTgcPrepData.h.

142 {
143 if (not m_globalPosition) {
144 m_globalPosition.set(std::make_unique<Amg::Vector3D>(
145 m_detEl->surface(identify())
147 }
148
149 if (not m_globalPosition) throw Trk::PrepRawDataUndefinedVariable();
150 return *m_globalPosition;
151 }
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
Global position of measurement.
const Amg::Vector2D & localPosition() const
return the local position reference
Identifier identify() const
return the identifier
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const =0
Specified by each surface type: LocalToGlobal method without dynamic memory allocation.

◆ hasLocalCovariance()

bool Trk::PrepRawData::hasLocalCovariance ( ) const
inherited

returns localCovariance().size()!=0

◆ identify()

Identifier Trk::PrepRawData::identify ( ) const
inherited

return the identifier

◆ localCovariance()

const Amg::MatrixX & Trk::PrepRawData::localCovariance ( ) const
inherited

return const ref to the error matrix

◆ localPosition()

const Amg::Vector2D & Trk::PrepRawData::localPosition ( ) const
inherited

return the local position reference

◆ numberOfInstantiations()

std::size_t Trk::ObjectCounter< Trk::PrepRawData >::numberOfInstantiations ( )
inlinestaticinherited

Definition at line 25 of file TrkObjectCounter.h.

26 {
27#ifndef NDEBUG
28 return s_numberOfInstantiations.load();
29#endif
30 return 0;
31 }
Helper to enable counting number of instantiations in debug builds.

◆ operator=() [1/2]

sTgcPrepData & Muon::sTgcPrepData::operator= ( const sTgcPrepData & )
delete

◆ operator=() [2/2]

sTgcPrepData & Muon::sTgcPrepData::operator= ( sTgcPrepData && )
defaultnoexcept

◆ prdType()

virtual Trk::PrepRawDataType Muon::sTgcPrepData::prdType ( ) const
inlineoverridevirtual

Interface method returning the prdType.

Implements Trk::PrepRawData.

Definition at line 75 of file sTgcPrepData.h.

◆ quality()

Quality Muon::sTgcPrepData::quality ( ) const
inline

Definition at line 111 of file sTgcPrepData.h.

111{ return m_quality; }

◆ rdoList()

const std::vector< Identifier > & Trk::PrepRawData::rdoList ( ) const
inherited

return the List of rdo identifiers (pointers)

◆ setAuthor()

void Muon::sTgcPrepData::setAuthor ( const Author a)
inline

Definition at line 115 of file sTgcPrepData.h.

115{ m_author = a; }
TList * a

◆ setHashAndIndex()

void Trk::PrepRawData::setHashAndIndex ( unsigned short collHash,
unsigned short objIndex )
inherited

TEMP for testing: might make some classes friends later ...

◆ setQuality()

void Muon::sTgcPrepData::setQuality ( const Quality q)
inline

Definition at line 112 of file sTgcPrepData.h.

◆ stripCharges()

const std::vector< int > & Muon::sTgcPrepData::stripCharges ( ) const
inline

returns the list of charges

Definition at line 159 of file sTgcPrepData.h.

159{ return m_stripCharges; }

◆ stripNumbers()

const std::vector< uint16_t > & Muon::sTgcPrepData::stripNumbers ( ) const
inline

returns the list of strip numbers

Definition at line 157 of file sTgcPrepData.h.

157{ return m_stripNumbers; }

◆ stripTimes()

const std::vector< short int > & Muon::sTgcPrepData::stripTimes ( ) const
inline

returns the list of times

Definition at line 158 of file sTgcPrepData.h.

158{ return m_stripTimes; }

◆ time()

short int Muon::sTgcPrepData::time ( ) const
inline

Definition at line 155 of file sTgcPrepData.h.

155{ return m_time; }

◆ type()

virtual bool Trk::PrepRawData::type ( PrepRawDataType type) const
inlinevirtualinherited

Interface method checking the type.

Reimplemented in InDet::PixelCluster, and InDet::SCT_Cluster.

Definition at line 133 of file PrepRawData.h.

133 {
134 return prdType() == type;
135 }
virtual bool type(PrepRawDataType type) const
Interface method checking the type.
virtual PrepRawDataType prdType() const =0
Interface method returning the prdType.

Member Data Documentation

◆ m_author

Author Muon::sTgcPrepData::m_author {Author::unKnown}
private

Definition at line 134 of file sTgcPrepData.h.

◆ m_charge

int Muon::sTgcPrepData::m_charge {0}
private

Definition at line 120 of file sTgcPrepData.h.

120{0};

◆ m_clusId

Identifier Trk::PrepRawData::m_clusId { 0 }
privateinherited

PrepRawData ID, not const because of DataPool.

Definition at line 156 of file PrepRawData.h.

156{ 0 };

◆ m_detEl

const MuonGM::sTgcReadoutElement* Muon::sTgcPrepData::m_detEl {nullptr}
private

Cached pointer to the detector element - should never be zero.

Definition at line 119 of file sTgcPrepData.h.

119{nullptr};

◆ m_globalPosition

CxxUtils::CachedUniquePtr<const Amg::Vector3D> Muon::MuonCluster::m_globalPosition
protectedinherited

Global position of measurement.

Calculated on demand and cached

Definition at line 89 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h.

◆ m_indexAndHash

IdentContIndex Trk::PrepRawData::m_indexAndHash
privateinherited

Stores its own position (index) in collection plus the hash id for the collection (needed for the EL to IDC)

Definition at line 167 of file PrepRawData.h.

◆ m_localCovariance

Amg::MatrixX Trk::PrepRawData::m_localCovariance {}
privateinherited

See derived classes for definition of ErrorMatrix.

Definition at line 163 of file PrepRawData.h.

163{};

◆ m_localPos

Amg::Vector2D Trk::PrepRawData::m_localPos {}
privateinherited

see derived classes for definition of meaning of LocalPosition

Definition at line 159 of file PrepRawData.h.

159{};

◆ m_quality

Quality Muon::sTgcPrepData::m_quality {Quality::unKnown}
private

Definition at line 133 of file sTgcPrepData.h.

◆ m_rdoList

std::vector<Identifier> Trk::PrepRawData::m_rdoList {}
privateinherited

Stores the identifiers of the RDOs.

Definition at line 161 of file PrepRawData.h.

161{};

◆ m_stripCharges

std::vector<int> Muon::sTgcPrepData::m_stripCharges {}
private

Definition at line 131 of file sTgcPrepData.h.

131{};

◆ m_stripNumbers

std::vector<uint16_t> Muon::sTgcPrepData::m_stripNumbers {}
private

@list of strip numbers, time and charge, of the strips associated to the PRD

Definition at line 123 of file sTgcPrepData.h.

123{};

◆ m_stripTimes

std::vector<short int> Muon::sTgcPrepData::m_stripTimes {}
private

strip times for the sTGCs will be available for the commissioning of the NSW.

Later the tdo (time) will not be in the datastream due to high occupancy. Then this an empty vector which does not take much space Patrick Scholer 3.12.2019

Definition at line 130 of file sTgcPrepData.h.

130{};

◆ m_time

short int Muon::sTgcPrepData::m_time {0}
private

Definition at line 121 of file sTgcPrepData.h.

121{0};

◆ s_numberOfInstantiations

std::atomic_size_t Trk::ObjectCounter< Trk::PrepRawData >::s_numberOfInstantiations
inlinestaticinherited

Definition at line 22 of file TrkObjectCounter.h.


The documentation for this class was generated from the following files: