17 if (this->
initialize(log) != StatusCode::SUCCESS) {
18 log << MSG::FATAL <<
"Could not initialize PixelClusterOnTrackCnv_p2 " <<
endmsg;
31 EigenHelpers::vectorToEigenMatrix(dummy.values, localCovariance,
"PixelClusterOnTrackCnv_p2");
47 log << MSG::WARNING<<
"Unable to reset DetEl for this RIO_OnTrack, "
48 <<
"probably because of a problem with the Identifier/IdentifierHash : ("
55 if (transObj==
nullptr or persObj==
nullptr)
return;
68 using PixelContainer = InDet::PixelClusterContainer;
77 "Bkg_ITkPixelClusters"};
79 struct ContainerCandidate {
81 const char* overlayOutputName;
83 static const ContainerCandidate candidates[] = {
84 {pixelClusters,
"Bkg_PixelClusters"},
85 {itkPixelClusters,
"Bkg_ITkPixelClusters"},
86 {bkgPixelClusters,
"Bkg_PixelClusters"},
87 {bkgItkPixelClusters,
"Bkg_ITkPixelClusters"},
96 for (
const ContainerCandidate& candidate : candidates) {
100 transObj, candidate.key, hashAndIndex);
102 if (!found)
continue;
105 doOverlay ? candidate.overlayOutputName : candidate.key.key();
118 ISvcLocator* svcLocator = Gaudi::svcLocator();
119 SmartIF<StoreGateSvc> detStore{svcLocator->service(
"DetectorStore")};
120 CHECK( detStore.isValid() );
123 return StatusCode::SUCCESS;
Helpers for checking error return status codes and reporting errors.
#define CHECK(...)
Evaluate an expression and check for errors.
ElementLink< InDet::PixelClusterContainer > ElementLinkToIDCPixelClusterContainer
This is an Identifier helper class for the Pixel subdetector.
size_t index_type
Type of the index used on the container.
void fillTransFromPStore(CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
value_type get_compact() const
Get the compact id.
ElementLinkInt_p1 m_prdLink
Link to PRD.
IdentifierHash::value_type m_idDE
bool m_hasClusterAmbiguity
Specific class to represent the pixel measurements.
virtual const InDetDD::SiDetectorElement * detectorElement() const override final
returns the detector element, assoicated with the PRD of this class
bool isFake() const
returns whether this cluster is likely to be the fake mirror image of a ganged pixel.
bool hasClusterAmbiguity() const
returns whether there was an ambiguity associated with this pixel cluster.
float energyLoss() const
returns the energy loss in MeV associated to this cluster.
virtual IdentifierHash idDE() const override
returns the DE hashID*
bool isBroadCluster() const
void transToPers(const InDet ::PixelClusterOnTrack *transObj, InDet ::PixelClusterOnTrack_p2 *persObj, MsgStream &log)
ToolHandle< Trk::IEventCnvSuperTool > m_eventCnvTool
LocalParametersCnv_p1 * m_localParCnv
ElementLinkCnv_p1< ElementLinkToIDCPixelClusterContainer > m_elCnv
ErrorMatrixCnv_p1 * m_errorMxCnv
void persToTrans(const InDet ::PixelClusterOnTrack_p2 *persObj, InDet ::PixelClusterOnTrack *transObj, MsgStream &log)
StatusCode initialize(MsgStream &log)
ReadHandleKey that initializes during construction.
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< float > values
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
Identifier identify() const
return the identifier -extends MeasurementBase
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
static void eigenMatrixToVector(VECTOR &vec, COVARIANCE &cov, const char *)