24 declareInterface<IDataRetriever>(
this);
37 return StatusCode::SUCCESS;
50 for (
const auto mmCollection : *mmContainer){
51 ndata += mmCollection->size();
57 DataVect lengthVec; lengthVec.reserve(ndata);
58 DataVect angleVec; angleVec.reserve(ndata);
59 DataVect idVec; idVec.reserve(ndata);
60 DataVect identifierVec; identifierVec.reserve(ndata);
61 DataVect barcode; barcode.reserve(ndata);
63 for (
const auto mmCollection : *mmContainer){
64 for (
const auto data : *mmCollection){
82 x.push_back(
DataType(globalPos.x()/CLHEP::cm));
83 y.push_back(
DataType(globalPos.y()/CLHEP::cm));
84 z.push_back(
DataType(globalPos.z()/CLHEP::cm));
88 idVec.push_back(
DataType(
id.get_compact() ));
98 myDataMap[
"length"] = lengthVec;
99 myDataMap[
"angle"] = angleVec;
100 myDataMap[
"identifier"] = identifierVec;
101 myDataMap[
"id"] = idVec;
102 myDataMap[
"barcode"] = barcode;
110 std::string emptyStr=
"";
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
char data[hepevt_bytes_allocation_ATLAS]
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
virtual std::string dataTypeName() const
Return the name of the data type.
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_sgKey
The storegate key for the MM collection.
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool)
Retrieve all the data.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
MMPrepDataRetriever(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
StatusCode initialize()
Default AthAlgTool methods.
An MMReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station con...
const MuonChannelDesign * getDesign(const Identifier &id) const
returns the MuonChannelDesign class for the given identifier
bool stripGlobalPosition(const Identifier &id, Amg::Vector3D &gpos) const
Eigen::Matrix< double, 3, 1 > Vector3D
std::string getFullID(Identifier id, const MdtIdHelper &mdtHelper)
Get the identifier string for an MDT ID with the sequence: Detector/StationName/StationEta/StationPhi...
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
std::map< std::string, DataVect > DataMap
std::vector< DataType > DataVect
Defines a map with a key and a vector of DataType objects e.g.
double stereoAngle() const
returns the stereo angle
double channelLength(int channel) const
STRIPS ONLY: calculate channel length for a given strip number.