59 "Distortion information will be printed on first event" );
60 return StatusCode::SUCCESS;
64 return StatusCode::SUCCESS;
73 return StatusCode::SUCCESS;
83 " to get distortion data" );
95 std::getline(infile,tmpline);
97 std::istringstream instring(tmpline);
101 instring >> ident >> identhash >>
x >>
y >>
z;
103 identhash <<
" x" <<
x <<
" y " <<
y <<
" z " <<
z );
106 if (
makeIdent(ident,identhash,identifier)) {
111 pdist->add(identifier,fbuf);
114 ATH_MSG_ERROR(
"Problem constructing identifier " << ident <<
" / " << identhash);
119 ATH_MSG_DEBUG (
"Read distortions for " << nline <<
" modules" <<
120 " of which " << nadd <<
" successfully added" );
135 std::string lident=ident.substr(1);
136 for (
unsigned int i=0;i<lident.size();++i) {
138 if (lident[i]==
']' || lident[i]==
'.') lident[i]=
' ';
140 std::istringstream instring(lident);
141 int atlas{},det{},bec{},layer{},
phi{},
eta,side{};
142 instring >> atlas >> det >> bec >> layer >>
phi >>
eta >> side;
143 if ((bec<-2) or (bec>2)){
156 return (identifier.get_identifier32().get_compact()==identhash);
166 ATH_MSG_ERROR(
"Unable to retrieve distortion parameters " );
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
ServiceHandle< StoreGateSvc > & evtStore()
const ServiceHandle< StoreGateSvc > & detStore() const
DetCondCFloat is a class to hold sets of Identifiers and arrays of floats for detector element specif...
std::string m_par_readfile
bool makeIdent(const std::string &ident, const Identifier32::value_type identhash, Identifier &identifier)
std::string m_par_distkey
SiDistWriteAlg(const std::string &name, ISvcLocator *pSvcLocator)