remage
Simulation framework for HPGe-based experiments
Toggle main menu visibility
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
25
class
G4Step
;
26
class
G4HCofThisEvent
;
27
class
G4TouchableHistory
;
30
class
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
G4HCofThisEvent
G4Step
G4TouchableHistory
G4VSensitiveDetector
RMGCalorimeterDetector::ProcessHits
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:60
include
RMGCalorimeterDetector.hh
Generated by
1.17.0