remage
Simulation framework for HPGe-based experiments
 
Loading...
Searching...
No Matches
RMGCalorimeterDetector.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_DETECTOR_HH_
17#define _RMG_CALORIMETER_DETECTOR_HH_
18
19#include <map>
20
21#include "G4VSensitiveDetector.hh"
22
23#include "RMGDetectorHit.hh"
24
25class G4Step;
26class G4HCofThisEvent;
30class RMGCalorimeterDetector : public G4VSensitiveDetector {
31
32 public:
33
34 RMGCalorimeterDetector();
35 ~RMGCalorimeterDetector() = default;
36
37 RMGCalorimeterDetector(RMGCalorimeterDetector const&) = delete;
38 RMGCalorimeterDetector& operator=(RMGCalorimeterDetector const&) = delete;
39 RMGCalorimeterDetector(RMGCalorimeterDetector&&) = delete;
40 RMGCalorimeterDetector& operator=(RMGCalorimeterDetector&&) = delete;
41
42 void Initialize(G4HCofThisEvent* hit_coll) override;
43
46 bool ProcessHits(G4Step* step, G4TouchableHistory* history) override;
47 void EndOfEvent(G4HCofThisEvent* hit_coll) override;
48
49 private:
50
51 RMGDetectorHitsCollection* fHitsCollection = nullptr;
52
53 // one accumulator hit per detector uid, valid for the current event only.
54 std::map<int, RMGDetectorHit*> fDetectorHits;
55};
56
57
58#endif
59
60// vim: tabstop=2 shiftwidth=2 expandtab
bool ProcessHits(G4Step *step, G4TouchableHistory *history) override
Process the detected hits computing the various parameters of a RMGDetectorHit and then adding this t...
Definition RMGCalorimeterDetector.cc:61