18 declareInterface<IDataRetriever>(
this);
29 return StatusCode::SUCCESS;
43 for (containerIt=tgcContainer->begin(); containerIt!=tgcContainer->end(); ++containerIt) {
44 ndata += (*containerIt)->size();
50 DataVect lengthVec; lengthVec.reserve(ndata);
51 DataVect swidthVec; swidthVec.reserve(ndata);
52 DataVect lwidthVec; lwidthVec.reserve(ndata);
53 DataVect idVec; idVec.reserve(ndata);
54 DataVect identifierVec; identifierVec.reserve(ndata);
55 DataVect barcode; barcode.reserve(ndata);
57 for (containerIt=tgcContainer->begin(); containerIt!=tgcContainer->end(); ++containerIt) {
61 for (collectionIt=tgcCollection->
begin(); collectionIt!=tgcCollection->
end(); ++collectionIt) {
73 double shortWidth, longWidth,
length;
90 x.push_back(
DataType(globalPos.x()/CLHEP::cm));
91 y.push_back(
DataType(globalPos.y()/CLHEP::cm));
92 z.push_back(
DataType(globalPos.z()/CLHEP::cm));
93 swidthVec.push_back(
DataType(shortWidth/CLHEP::cm));
94 lwidthVec.push_back(
DataType(longWidth/CLHEP::cm));
97 idVec.push_back(
DataType(
id.get_compact() ));
107 myDataMap[
"length"] = lengthVec;
108 myDataMap[
"swidth"] = swidthVec;
109 myDataMap[
"lwidth"] = lwidthVec;
110 myDataMap[
"identifier"] = identifierVec;
111 myDataMap[
"id"] = idVec;
112 myDataMap[
"barcode"] = barcode;
121 std::string emptyStr=
"";
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
char data[hepevt_bytes_allocation_ATLAS]
bool msgLvl(const MSG::Level lvl) const
DataModel_detail::const_iterator< DataVector > const_iterator
const_iterator end() const noexcept
const_iterator begin() const noexcept
StatusCode initialize()
Default AthAlgTool methods.
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_sgKey
The storegate key for the TGC collection.
virtual std::string dataTypeName() const
Return the name of the data type.
TgcPrepDataRetriever(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool)
Retrieve all the data.
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
double stripShortWidth(int, int) const
double stripLength() const
Returns the length of each strip which is equal to the height of the chamber.
double stripLongWidth(int, int) const
double gangShortWidth(int gasGap, int gang) const
Returns the length of the most bottom wire in the gang.
double gangLongWidth(int gasGap, int gang) const
Returns the length of the most top wire in the gang.
Amg::Vector3D stripPos(int gasGap, int strip) const
Returns the global position of a strip.
double gangRadialLength(int gasGap, int gang) const
Returns the length of the wire gang along the radial direction [pitch x N_{wire}^{gang}...
Amg::Vector3D wireGangPos(const Identifier &id) const
Returns the global position of a wireGang.
Class to represent TGC measurements.
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.
MuonPrepDataCollection< TgcPrepData > TgcPrepDataCollection