|
ATLAS Offline Software
|
Go to the documentation of this file.
28 declareInterface<IDataRetriever>(
this);
47 if (not SCTRDOContainer.
isValid()){
49 return StatusCode::RECOVERABLE;
55 if (elements==
nullptr) {
57 return StatusCode::FAILURE;
61 unsigned long NSCTRDO = 0;
63 for (
const auto SCTRDORawCollection : *SCTRDOContainer)
65 NSCTRDO+=SCTRDORawCollection->size();
76 DataVect etaModule; etaModule.reserve(NSCTRDO);
77 DataVect timeBin; timeBin.reserve(NSCTRDO);
78 DataVect firstHitError; firstHitError.reserve(NSCTRDO);
79 DataVect secondHitError; secondHitError.reserve(NSCTRDO);
80 DataVect syncError; syncError.reserve(NSCTRDO);
81 DataVect preambleError; preambleError.reserve(NSCTRDO);
82 DataVect lvl1Error; lvl1Error.reserve(NSCTRDO);
84 DataVect formatterError; formatterError.reserve(NSCTRDO);
87 for (
const auto SCTRDORawCollection : *SCTRDOContainer) {
90 const IdentifierHash waferHash = SCTRDORawCollection->identifyHash();
93 for (
const auto rdoData : *SCTRDORawCollection) {
101 if (element ==
nullptr){
102 ATH_MSG_WARNING(
"Unable to obtain detector element for SCT_RDO hit with id " <<
id );
109 const std::pair<Amg::Vector3D, Amg::Vector3D> endsOfStrip = element->
endsOfStrip(localPos);
118 etaModule.push_back(
DataType(
m_geo->SCTIDHelper()->eta_module(
id) ));
128 firstHitError.push_back(
DataType( -1 ));
129 secondHitError.push_back(
DataType( -1 ));
134 preambleError.push_back(
DataType(-1));
137 formatterError.push_back(
DataType(-1));
152 dataMap[
"etaModule"] = etaModule;
154 dataMap[
"firstHitError"] = firstHitError ;
155 dataMap[
"secondHitError"] = secondHitError ;
156 dataMap[
"syncError"] = syncError;
157 dataMap[
"preambleError"] = preambleError;
158 dataMap[
"lvl1Error"] = lvl1Error;
160 dataMap[
"formatterError"] = formatterError;
177 return m_geo.retrieve();
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
SG::ReadHandleKey< SCT_RDO_Container > m_SCTRDOContainerName
The StoreGate key for the SCTRDO container.
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool)
Retrieve all the data.
Eigen::Matrix< double, 2, 1 > Vector2D
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
bool SecondHitError() const
std::vector< DataType > DataVect
Defines a map with a key and a vector of DataType objects e.g.
SCTRDORetriever(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
std::map< std::string, DataVect > DataMap
const_pointer_type retrieve()
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Condition object key of SiDetectorElementCollection for SCT.
virtual std::string dataTypeName() const
Return the name of the data type.
::StatusCode StatusCode
StatusCode definition for legacy code.
bool FirstHitError() const
virtual bool isValid() override final
Can the handle be successfully dereferenced?
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
std::pair< Amg::Vector3D, Amg::Vector3D > endsOfStrip(const Amg::Vector2D &position) const
Special method for SCT to retrieve the two ends of a "strip" Returned coordinates are in global frame...
StatusCode initialize(bool used=true)
const ToolHandle< IInDetGeoModelTool > m_geo
A tool handle to the geo model tool.
Amg::Vector2D rawLocalPositionOfCell(const SiCellId &cellId) const
Returns position (center) of cell.
#define ATH_MSG_WARNING(x)
virtual StatusCode initialize()
Only retrieve geo tool in initialize.
ToolHandle< ISiLorentzAngleTool > m_lorentzAngleTool
A tool handle to the SiLorentzAngleTool.
Handle class for reading from StoreGate.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
const SiDetectorElement * getDetectorElement(const IdentifierHash &hash) const