ATLAS Offline Software
InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SCT_Cluster.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // SCT_Cluster.h
7 // Header file for class SCT_Cluster
9 // Version 1.0 23/07/2004 John Baines
11 
12 #ifndef TRKPREPRAWDATA_SCT_CLUSTER_H
13 #define TRKPREPRAWDATA_SCT_CLUSTER_H
14 
15 // Base class
17 
18 #include <vector>
19 #include <cstdint> //for uint16_t
20 #include <iosfwd>
21 
22 class Identifier;
23 class MsgStream;
24 
25 namespace InDetDD
26 {
27  class SiDetectorElement;
28 }
29 
30 namespace InDet{
31 
32 class SiWidth;
33 
34 class SCT_Cluster final : public SiCluster {
35  public:
36 
38  SCT_Cluster() = default;
40  SCT_Cluster(const SCT_Cluster &) = default;
46  SCT_Cluster &operator=(SCT_Cluster &&) noexcept = default;
48  virtual ~SCT_Cluster(); //default in dtor
49 
56  const Amg::Vector2D& locpos,
57  std::vector<Identifier>&& rdoList,
59  const InDetDD::SiDetectorElement* detEl,
60  Amg::MatrixX&& locErrMat);
61 
63  virtual bool type(Trk::PrepRawDataType type) const override final;
64 
66  virtual MsgStream& dump(MsgStream& stream) const override final;
67 
69  virtual std::ostream& dump(std::ostream& stream) const override final;
70 
75 
80 
84  int stripHasHitInThirdTimeBin(int stripNumberWithinCluster) const;
85 
86 private:
90 
91 };
92 
94  {
95  return m_hitsInThirdTimeBin;
96  }
97 
99  {
101  }
102 
103 
104  inline int SCT_Cluster::stripHasHitInThirdTimeBin(int stripNumberWithinCluster) const {
105  return stripNumberWithinCluster <= 16 ? (int)((m_hitsInThirdTimeBin >> stripNumberWithinCluster) & 0x1): 0;
106 
107  }
108 
109 
110 
111  MsgStream& operator << (MsgStream& stream, const SCT_Cluster& prd);
112  std::ostream& operator << (std::ostream& stream, const SCT_Cluster& prd);
113 
114 
115 }
116 #endif // TRKPREPRAWDATA_SCT_CLUSTER_H
InDet::operator<<
MsgStream & operator<<(MsgStream &, const GNNTrackReaderTool &)
Trk::PrepRawDataType
PrepRawDataType
Definition: PrepRawData.h:39
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
InDet::SCT_Cluster::SCT_Cluster
SCT_Cluster()=default
Constructor without parameters.
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
Trk::PrepRawData::rdoList
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
InDet::SCT_Cluster::SCT_Cluster
SCT_Cluster(SCT_Cluster &&) noexcept=default
Move constructor.
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
vector
Definition: MultiHisto.h:13
InDet::SCT_Cluster::m_hitsInThirdTimeBin
uint16_t m_hitsInThirdTimeBin
Some information about timing - which strips had 010 and which 011 for first 16 strips in a cluster.
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SCT_Cluster.h:89
InDet::SCT_Cluster::SCT_Cluster
SCT_Cluster(const SCT_Cluster &)=default
Copy constructor.
InDet::SCT_Cluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SCT_Cluster.h:34
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
SiCluster.h
InDet::SCT_Cluster::setHitsInThirdTimeBin
void setHitsInThirdTimeBin(uint16_t hitsInThirdTimeBin)
Setter method of timing.
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SCT_Cluster.h:98
InDet::SCT_Cluster::hitsInThirdTimeBin
uint16_t hitsInThirdTimeBin() const
Getter method of timing.
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SCT_Cluster.h:93
InDet::SCT_Cluster::dump
virtual MsgStream & dump(MsgStream &stream) const override final
dump information about the PRD object.
Definition: SCT_Cluster.cxx:57
InDet::SiCluster::width
const InDet::SiWidth & width() const
return width class reference
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDet::SiWidth
Definition: SiWidth.h:25
python.CaloScaleNoiseConfig.default
default
Definition: CaloScaleNoiseConfig.py:79
InDet::SCT_Cluster::type
virtual bool type(Trk::PrepRawDataType type) const override final
Interface method checking the type.
Definition: SCT_Cluster.cxx:53
InDet::SiCluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h:40
InDet::SCT_Cluster::stripHasHitInThirdTimeBin
int stripHasHitInThirdTimeBin(int stripNumberWithinCluster) const
Getter method of timing.
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SCT_Cluster.h:104