|
ATLAS Offline Software
|
Go to the documentation of this file.
21 ATH_MSG_FATAL(
"No data source is given to load the jitter constants from. Please provide either a COOL folder or a json file");
22 return StatusCode::FAILURE;
28 return StatusCode::SUCCESS;
36 if (writeHandle.isValid()) {
37 ATH_MSG_DEBUG(
"CondHandle " << writeHandle.fullKey() <<
" is already valid."
38 <<
" In theory this should not be called, but may happen"
39 <<
" if multiple concurrent events are being processed out of order.");
40 return StatusCode::SUCCESS;
43 std::unique_ptr<TgcDigitJitterData> writeCdo{std::make_unique<TgcDigitJitterData>()};
46 if (!readHandle.isValid()) {
48 return StatusCode::FAILURE;
50 writeHandle.addDependency(readHandle);
53 const std::string&
data{*(
static_cast<const std::string*
>((atr[
"data"]).addressOfData()))};
59 if (!inStream.good()) {
61 return StatusCode::FAILURE;
68 ATH_CHECK(writeHandle.record(std::move(writeCdo)));
69 ATH_MSG_DEBUG(
"Recorded new " << writeHandle.key() <<
" with range " << writeHandle.getRange() <<
" into Conditions Store");
70 return StatusCode::SUCCESS;
75 for (
auto& corr :
lines.items()) {
81 return StatusCode::SUCCESS;
char data[hepevt_bytes_allocation_ATLAS]
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyDb
StatusCode parseDataFromJSON(const nlohmann::json &lines, TgcDigitJitterData &jitterChannels) const
Load the Jitter constants from the JSON format.
bool empty() const
Test if the key is blank.
SG::WriteCondHandleKey< TgcDigitJitterData > m_writeKey
TgcDigitJitterCondAlg(const std::string &name, ISvcLocator *svc)
An algorithm that can be simultaneously executed in multiple threads.
::StatusCode StatusCode
StatusCode definition for legacy code.
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
StatusCode initialize(bool used=true)
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Gaudi::Property< std::string > m_readFromJSON
Use an external JSON file to load the Jitter constants from.
ChanAttrListMap::const_iterator const_iterator
virtual StatusCode initialize() override
void cacheAngleInterval(const double minAngle, std::vector< double > &&timeProbs)
virtual StatusCode execute(const EventContext &ctx) const override
static EventIDRange infiniteTime()
Produces an EventIDRange that is inifinite in Time and invalid in RunLumi.