ATLAS Offline Software
CscClusterOnTrack.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // CscClusterOnTrack.cxx
7 // Implementation file for class CscClusterOnTrack
9 // (c) ATLAS Detector software
11 // Version 1.0 06/07/2004 Ketevi A. Assamagan
12 // adapted from Veronique Boisvert
14 
17 
18 namespace Muon
19 {
20 
21  // Default constructor:
23  MuonClusterOnTrack(), // call base class ctor
24  m_rio(),
25  m_detEl(nullptr),
26  m_status(CscStatusUndefined),
27  m_timeStatus(CscTimeStatusUndefined),
28  m_time(9999.0)
29  {}
30 
31  // copy constructor:
33 
34  // Constructor with parameters
36  const CscPrepData* RIO,
37  Trk::LocalParameters&& locpos,
38  Amg::MatrixX&& locerr,
39  double positionAlongStrip,
41  CscTimeStatus timeStatus,
42  float time ) :
43  MuonClusterOnTrack(std::move(locpos), std::move(locerr), RIO->identify(), positionAlongStrip), //call base class constructor
44  m_detEl( RIO->detectorElement() ),
45  m_status( status ),
46  m_timeStatus( timeStatus ),
47  m_time(time)
48 {
49  //Set EL
50  // m_rio = ElementLinkToIDC_CSC_Container("CSC_Clusters", RIO->getHashAndIndex().hashAndIndex(), RIO);
51  m_rio.setElement(RIO);
52 }
53 
56  Trk::LocalParameters&& locpos,
57  Amg::MatrixX&& locerr,
58  const Identifier& id,
59  const MuonGM::CscReadoutElement* detEl,
60  double positionAlongStrip,
62  CscTimeStatus timeStatus,
63  float time ) :
64  MuonClusterOnTrack(std::move(locpos), std::move(locerr), id, positionAlongStrip), //call base class constructor
65  m_rio( RIO ),
66  m_detEl( detEl ),
67  m_status( status ),
68  m_timeStatus( timeStatus ),
69  m_time(time)
70 {
71 }
72 
73  // Destructor:
75  = default;
76 
77  // assignment operator:
79  {
80  if ( &rot != this)
81  {
82  MuonClusterOnTrack::operator=(rot);//base class ass. op.
83  m_rio = rot.m_rio;
84  m_detEl = rot.m_detEl;
85  m_status = rot.m_status;
87  m_time = rot.m_time;
88  }
89  return *this;
90  }
91 
92  MsgStream& CscClusterOnTrack::dump( MsgStream& stream) const
93  {
94  stream << MSG::INFO<<"CscClusterOnTrack {"<<std::endl;
95  stream <<"Time: "<<m_time<<std::endl;
96  stream <<"Status: "<<m_status<<std::endl;
97  stream <<"TimeStatus: "<<m_timeStatus<<std::endl;
98 
100 
101  stream << "Cluster Status: "<<toString(m_status)<<std::endl;
102  stream << "Cluster Time Status: "<<toString(m_timeStatus)<<std::endl;
103 
104  stream<<"}"<<endmsg;
105  return stream;
106  }
107 
108  std::ostream& CscClusterOnTrack::dump( std::ostream& stream) const
109  {
110  stream << "CscClusterOnTrack {"<<std::endl;
111  stream <<"Time: "<<m_time<<std::endl;
112  stream <<"Status: "<<m_status<<std::endl;
113  stream <<"TimeStatus: "<<m_timeStatus<<std::endl;
114 
116 
117  stream << "Cluster Status: "<<toString(m_status)<<std::endl;
118  stream << "Cluster Time Status: "<<toString(m_timeStatus)<<std::endl;
119 
120  stream<<"}"<<std::endl;
121  return stream;
122  }
123 
124 }
125 
126 
Trk::LocalParameters
Definition: LocalParameters.h:98
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
Muon::CscClusterOnTrack::m_timeStatus
CscTimeStatus m_timeStatus
cluster time measurement status
Definition: CscClusterOnTrack.h:139
Muon::MuonClusterOnTrack::dump
virtual MsgStream & dump(MsgStream &stream) const override
Dumps information about the PRD.
Definition: MuonClusterOnTrack.cxx:62
Muon::CscClusterOnTrack::operator=
CscClusterOnTrack & operator=(const CscClusterOnTrack &)
Definition: CscClusterOnTrack.cxx:78
MuonGM::CscReadoutElement
Definition: CscReadoutElement.h:56
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
Muon::toString
std::string toString(CscStripStatus cstat)
Return a string description of a CSC cluster status flag.
Definition: CscStripStatus.h:48
Muon::CscClusterOnTrack::m_detEl
const MuonGM::CscReadoutElement * m_detEl
The detector element, associated with this measurement.
Definition: CscClusterOnTrack.h:133
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
Muon::CscPrepData
Class representing clusters from the CSC.
Definition: CscPrepData.h:39
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
CscClusterOnTrack.h
Muon::CscClusterOnTrack::CscClusterOnTrack
CscClusterOnTrack()
Definition: CscClusterOnTrack.cxx:22
Muon::CscClusterOnTrack::m_rio
ElementLinkToIDC_CSC_Container m_rio
PrepRawData object assoicated with this measurement.
Definition: CscClusterOnTrack.h:130
Muon::CscStatusUndefined
@ CscStatusUndefined
Undefined, should not happen, most likely indicates a problem.
Definition: CscClusterStatus.h:94
Muon::CscClusterOnTrack::dump
virtual MsgStream & dump(MsgStream &stream) const override final
Dumps information about the PRD.
Definition: CscClusterOnTrack.cxx:92
Muon::CscClusterOnTrack::~CscClusterOnTrack
virtual ~CscClusterOnTrack()
Destructor.
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
Muon::CscClusterOnTrack::m_status
CscClusterStatus m_status
cluster position measurement status
Definition: CscClusterOnTrack.h:136
LocalParameters.h
Muon::CscClusterOnTrack::m_time
float m_time
Definition: CscClusterOnTrack.h:141
Muon::CscClusterOnTrack
Class to represent the calibrated clusters created from CSC strips.
Definition: CscClusterOnTrack.h:47
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
Muon::CscTimeStatusUndefined
@ CscTimeStatusUndefined
Time is not assessed indicating potential bug.
Definition: CscTimeStatus.h:39
merge.status
status
Definition: merge.py:17
Muon::CscClusterStatus
CscClusterStatus
Enum to represent the cluster status - see the specific enum values for more details.
Definition: CscClusterStatus.h:23
Muon::MuonClusterOnTrack
Base class for Muon cluster RIO_OnTracks.
Definition: MuonClusterOnTrack.h:34
Muon::MuonClusterOnTrack::operator=
MuonClusterOnTrack & operator=(const MuonClusterOnTrack &)
Definition: MuonClusterOnTrack.cxx:52
Muon::CscTimeStatus
CscTimeStatus
Enum to represent the cluster time measurement status - see the specific enum values for more details...
Definition: CscTimeStatus.h:24