MD2ADST.h
Go to the documentation of this file.
1 #ifndef _MD2ADST_h_
2 #define _MD2ADST_h_
3 
4 #include <utl/CoordinateSystem.h>
5 #include <evt/ShowerMRecData.h>
6 #include <mdet/MDetector.h>
7 #include <mevt/MEvent.h>
8 #include <adst/RecEvent.h>
9 
10 
11 class RecEvent;
12 namespace evt {
13  class Event;
14 }
15 
16 namespace otoa {
17 
18  class Config;
19 
20 
21  /*
22  \author Martin Maur
23  \date 14 Apr 2012
24  \author Diego Ravignani
25  \date 31 Aug 2015
26  */
27 
28  class MD2ADST {
29  public:
30  MD2ADST(const otoa::Config& config);
31 
32  void Convert(const evt::Event& inEvent, RecEvent& outEvent) const;
33 
34  private:
36 
37  // Make master detector data available across the board
41 
42  inline const otoa::Config& GetConfig() const { return fConfig; }
43 
44  void FillMEvent(const evt::Event& e, MDEvent& me) const;
45  void FillRecShower(const evt::ShowerMRecData& sr, MdRecShower& mr) const;
46  MdRecCounter MakeCounter(const mevt::Counter& c, const utl::CoordinateSystemPtr& cs) const;
47  // passing the mdet::Module to lookup master data
48  MdRecModule MakeModule(const mevt::Module& em, const mdet::Module& dm, const utl::CoordinateSystemPtr& cs) const;
49  // no option but to pass mdet::Module again, the needed master data is here (but should be at the channel level!)
50  MdRecChannel MakeChannel(const mevt::Channel& c, const mdet::Module& m) const;
51 
52  // MakeSimCounter still needs to be reorganised in the same way done for reconstructed data
53  // A coordinate system is provided to find the counter coordinates relative to the shower plane
54  MdSimCounter MakeSimCounter(const mevt::Counter& c, const utl::CoordinateSystemPtr& showerPlaneCS) const;
55 
57 
58  void AddParticle(const utl::Particle& p, const mdet::Counter& c, const int moduleId, const int scintId, MdSimScintillator& ms) const;
59 
60  };
61 
62 }
63 
64 
65 #endif
Counter level event data.
Describes a particle for Simulation.
Definition: Particle.h:26
const det::Detector * fDetector
Definition: MD2ADST.h:38
void AddParticle(const utl::Particle &p, const mdet::Counter &c, const int moduleId, const int scintId, MdSimScintillator &ms) const
Definition: MD2ADST.cc:647
const otoa::Config & fConfig
Definition: MD2ADST.h:35
MD2ADST(const otoa::Config &config)
Definition: MD2ADST.cc:53
Detector associated to muon detector hierarchy.
Definition: MDetector.h:32
MdRecChannel MakeChannel(const mevt::Channel &c, const mdet::Module &m) const
Definition: MD2ADST.cc:489
constexpr double ms
Definition: AugerUnits.h:164
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
Module level event data.
Definition: MEvent/Module.h:41
void FillMEvent(const evt::Event &e, MDEvent &me) const
Definition: MD2ADST.cc:111
const otoa::Config & GetConfig() const
Definition: MD2ADST.h:42
utl::CoordinateSystemPtr GetShowerPlaneCS(const evt::ShowerMRecData &sr) const
Definition: MD2ADST.cc:625
const mdet::MDetector * fMdDetector
Definition: MD2ADST.h:39
Converts an Offline event to ADST.
Definition: Config.h:19
Top of the hierarchy of the detector description interface.
Definition: Detector.h:81
void FillRecShower(const evt::ShowerMRecData &sr, MdRecShower &mr) const
Definition: MD2ADST.cc:133
Array of Scintillator.
MdSimCounter MakeSimCounter(const mevt::Counter &c, const utl::CoordinateSystemPtr &showerPlaneCS) const
Definition: MD2ADST.cc:534
void Convert(const evt::Event &inEvent, RecEvent &outEvent) const
Definition: MD2ADST.cc:62
Root detector of the muon detector hierarchy.
utl::CoordinateSystemPtr fReferenceCS
Definition: MD2ADST.h:40
Channel level event data.
constexpr double sr
Definition: AugerUnits.h:139
MdRecCounter MakeCounter(const mevt::Counter &c, const utl::CoordinateSystemPtr &cs) const
Definition: MD2ADST.cc:205
MdRecModule MakeModule(const mevt::Module &em, const mdet::Module &dm, const utl::CoordinateSystemPtr &cs) const
Definition: MD2ADST.cc:327
Interface class to access to the Muon Reconstruction of a Shower.
constexpr double m
Definition: AugerUnits.h:121
void Config(const std::string &infile)
Definition: fwkPython.cc:13

, generated on Tue Sep 26 2023.