ATLAS Offline Software
TileBeamElemDumper.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 /*
5  */
14 #include "TileBeamElemDumper.h"
15 #include "StoreGate/ReadHandle.h"
16 #include "CxxUtils/StrFormat.h"
17 #include <fstream>
18 
19 
25 TileBeamElemDumper::TileBeamElemDumper (const std::string& name, ISvcLocator* svcloc)
26  : AthReentrantAlgorithm (name, svcloc)
27 {
28 }
29 
30 
35 {
37  return StatusCode::SUCCESS;
38 }
39 
40 
45 StatusCode TileBeamElemDumper::execute (const EventContext& ctx) const
46 {
47  std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump",
48  m_prefix.value().c_str(),
49  m_contKey.key().c_str(),
50  ctx.eventID().run_number(),
51  ctx.eventID().event_number());
52  std::ofstream fout (fname);
53  if (!fout) {
54  ATH_MSG_ERROR ("Cannot open dump file: " << fname);
55  return StatusCode::FAILURE;
56  }
57 
59 
60  fout << "TileBeamElemContainer/" << m_contKey.key() << " "
61  << "run " << ctx.eventID().run_number() << " "
62  << "event " << ctx.eventID().event_number() << std::endl;
63 
64  fout << "Type: " << cont->get_type() << " ("
65  << TileFragHash::typeToString (cont->get_type()) << ") Units: "
66  << cont->get_unit() << " ("
68  << ") BSflags: 0x" << std::hex << cont->get_bsflags() << std::dec
69  << std::endl;
70 
71  for (auto coll : *cont) {
72  fout << static_cast<std::string> (*coll);
73  fout << "\n";
74  }
75 
76  fout.close();
77 
78  return StatusCode::SUCCESS;
79 }
80 
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
TileBeamElemDumper::m_contKey
SG::ReadHandleKey< TileBeamElemContainer > m_contKey
Handle to access input tile digits.
Definition: TileBeamElemDumper.h:58
StrFormat.h
Provide helper functions to create formatted strings.
TileBeamElemDumper::execute
virtual StatusCode execute(const EventContext &ctx) const override
Algorithm event processing.
Definition: TileBeamElemDumper.cxx:45
TileFragHash::typeToString
static std::string typeToString(TYPE type)
Printable representation of a type.
Definition: TileFragHash.cxx:85
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
dqt_zlumi_alleff_HIST.fout
fout
Definition: dqt_zlumi_alleff_HIST.py:59
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileRawDataContainer::get_bsflags
uint32_t get_bsflags() const
Definition: TileRawDataContainer.h:64
TileBeamElemDumper.h
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TileBeamElemDumper::initialize
virtual StatusCode initialize() override
Algorithm initialization; called at the beginning of the job.
Definition: TileBeamElemDumper.cxx:34
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
CxxUtils::strformat
std::string strformat(const char *fmt,...)
return a std::string according to a format fmt and varargs
Definition: StrFormat.cxx:49
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TileBeamElemDumper::TileBeamElemDumper
TileBeamElemDumper(const std::string &name, ISvcLocator *svcloc)
Constructor.
Definition: TileBeamElemDumper.cxx:25
TileRawDataContainer::get_type
TYPE get_type() const
Definition: TileRawDataContainer.h:62
TileBeamElemDumper::m_prefix
Gaudi::Property< std::string > m_prefix
Output file name prefix.
Definition: TileBeamElemDumper.h:62
TileRawChannelUnit::unitToString
static std::string unitToString(UNIT type)
Printable representation of a unit.
Definition: TileRawChannelUnit.cxx:14
python.AthDsoLogger.fname
string fname
Definition: AthDsoLogger.py:67
TileRawDataContainer::get_unit
UNIT get_unit() const
Definition: TileRawDataContainer.h:60
ReadHandle.h
Handle class for reading from StoreGate.