MuonCounterViewer.h
Go to the documentation of this file.
1 #ifndef _MuonCounterViewerAG_MuonCounterViewer_h_
2 #define _MuonCounterViewerAG_MuonCounterViewer_h_
3 
4 #include <fwk/VModule.h>
5 
6 
7 namespace evt {
8  class Event;
9 }
10 
11 namespace mdet {
12  class Scintillator;
13 };
14 
15 class TGeoVolume;
16 class TGeoManager;
17 class TGeoMedium;
18 
19 namespace MuonCounterViewerAG {
20 
25  class ScintBuilder {
26 
27  public:
28  ScintBuilder() : fManager(0), fMedium(0), fVolume(0) { }
29 
30  ScintBuilder(TGeoManager* mgr, TGeoMedium* med)
31  : fManager(mgr), fMedium(med), fVolume(0) { }
32 
35  operator()(TGeoManager* const mgr, TGeoMedium* const med)
36  {
37  fManager = mgr;
38  fMedium = med;
39  fVolume = 0;
40  return *this;
41  }
42 
43  void Box(const mdet::Scintillator& s, double w, double l, double h);
44 
45  TGeoVolume* GetVolume() const
46  { return fVolume; }
47 
48  private:
49  TGeoManager* fManager;
50  TGeoMedium* fMedium;
51  TGeoVolume* fVolume;
52 
53  };
54 
55 
71 
72  public:
74 
75  virtual ~MuonCounterViewer() { }
76 
80 
81  int counterId;
82 
83  private:
84  REGISTER_MODULE("MuonCounterViewerAG", MuonCounterViewer);
85 
86  };
87 
88 }
89 
90 
91 #endif
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
Generates a 3D representation of a counter.
ScintBuilder & operator()(TGeoManager *const mgr, TGeoMedium *const med)
Reinitilization operator.
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
Actual muon-sensitive objects.
REGISTER_MODULE("MuonCounterViewerAG", MuonCounterViewer)
constexpr double s
Definition: AugerUnits.h:163
Module interface.
Definition: VModule.h:53
ScintBuilder(TGeoManager *mgr, TGeoMedium *med)
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
void Box(const mdet::Scintillator &s, double w, double l, double h)
Scint shape-aware builder.

, generated on Tue Sep 26 2023.