remage
Simulation framework for HPGe-based experiments
 
Loading...
Searching...
No Matches
RMGCalorimeterOutputScheme.hh
1// Copyright (C) 2022 Luigi Pertoldi <https://orcid.org/0000-0002-0467-2571>
2//
3// This program is free software: you can redistribute it and/or modify it under
4// the terms of the GNU Lesser General Public License as published by the Free
5// Software Foundation, either version 3 of the License, or (at your option) any
6// later version.
7//
8// This program is distributed in the hope that it will be useful, but WITHOUT
9// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
11// details.
12//
13// You should have received a copy of the GNU Lesser General Public License
14// along with this program. If not, see <https://www.gnu.org/licenses/>.
15
16#ifndef _RMG_CALORIMETER_OUTPUT_SCHEME_HH_
17#define _RMG_CALORIMETER_OUTPUT_SCHEME_HH_
18
19#include <memory>
20#include <optional>
21#include <set>
22
23#include "G4AnalysisManager.hh"
24#include "G4GenericMessenger.hh"
25
26#include "RMGCalorimeterDetector.hh"
27#include "RMGDetectorHit.hh"
28#include "RMGOutputTools.hh"
29#include "RMGVOutputScheme.hh"
30
31class G4Event;
42class RMGCalorimeterOutputScheme : public RMGVOutputScheme {
43
44 public:
45
46 RMGCalorimeterOutputScheme() {};
47
49 void AssignOutputNames(G4AnalysisManager* ana_man) override;
50
54 void StoreEvent(const G4Event* event) override;
55
56 protected:
57
58 [[nodiscard]] std::string GetNtupleNameFlat() const override { return "calorimeter"; }
59
60 private:
61
62 RMGDetectorHitsCollection* GetHitColl(const G4Event*);
63};
64
65#endif
66
67// vim: tabstop=2 shiftwidth=2 expandtab
void StoreEvent(const G4Event *event) override
Store the information from the event, invoked in RMGEventAction::EndOfEventAction.
Definition RMGCalorimeterOutputScheme.cc:134
void AssignOutputNames(G4AnalysisManager *ana_man) override
Sets the names of the output columns, invoked in RMGRunAction::SetupAnalysisManager.
Definition RMGCalorimeterOutputScheme.cc:40