ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ZDC
ZDC_SD
src
ZDC_G4CalibSD.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ZDCG4CALIBSD_H
6
#define ZDCG4CALIBSD_H
7
8
#include "G4VSensitiveDetector.hh"
9
#include "
ZDC_EscapedEnergyProcessing.h
"
10
#include "
ZDC_HitCollectionBuilders.h
"
11
12
#include "
CaloSimEvent/CaloCalibrationHit.h
"
13
#include "
CaloG4Sim/SimulationEnergies.h
"
14
#include "Identifier/Identifier.h"
15
#include "
ZdcIdentifier/ZdcID.h
"
16
17
#include <gtest/gtest_prod.h>
18
19
class
G4Step;
20
class
G4Track;
21
class
CaloCalibrationHitContainer
;
22
23
class
ZDC_G4CalibSD
:
public
G4VSensitiveDetector
24
{
25
FRIEND_TEST
( ZDC_G4CalibSDtest,
ProcessHits
);
26
FRIEND_TEST
( ZDC_G4CalibSDtest,
SpecialHit
);
27
FRIEND_TEST
( ZDC_G4CalibSDtest,
SimpleHit
);
28
public
:
29
30
// Constructor
31
ZDC_G4CalibSD
(
const
G4String &a_name,
const
G4String& hitCollectionName,
bool
doPID=
false
);
32
33
// Destructor
34
virtual
~ZDC_G4CalibSD
();
35
36
ZDC_G4CalibSD
(
const
ZDC_G4CalibSD
&) =
delete
;
37
ZDC_G4CalibSD
&
operator=
(
const
ZDC_G4CalibSD
&) =
delete
;
38
39
// Main processing method
40
G4bool
ProcessHits
(G4Step* a_step,G4TouchableHistory*)
override
;
41
// For other classes that need to call into us...
42
G4bool
SpecialHit
(G4Step* a_step,
const
std::vector<G4double>& a_energies);
43
protected
:
44
//Add hit either from ProcessHits or SpecialHit to the collection
45
G4bool
SimpleHit
(
const
Identifier
&
id
,
const
std::vector<double>& energies,
const
G4Track* track =
nullptr
);
46
47
private
:
48
ZDC_CalibrationHitContainerBuilder
*
getHitCollection
()
const
;
49
50
std::string
m_hitCollectionName
;
51
// Non-owning cache; HitCollectionMap owns the collection.
52
ZDC_CalibrationHitContainerBuilder
*
m_HitColl
{};
53
std::vector<G4double>
m_energies
;
54
55
// Count the number of invalid hits.
56
G4int
m_numberInvalidHits
;
57
// Are we set up to run with PID hits?
58
G4bool
m_doPID
;
59
Identifier
m_id
;
60
CaloG4::SimulationEnergies
*
m_simulationEnergies
;
61
ZDC_EscapedEnergyProcessing
*
m_zdc_eep
=
nullptr
;
62
};
63
64
#endif
CaloCalibrationHit.h
SimulationEnergies.h
ZDC_EscapedEnergyProcessing.h
ZDC_HitCollectionBuilders.h
ZdcID.h
CaloCalibrationHitContainer
Definition
CaloCalibrationHitContainer.h:25
CaloG4::SimulationEnergies
This class implements the calculations requires to categorize the energies deposited during the simul...
Definition
SimulationEnergies.h:47
ZDC_CalibrationHitContainerBuilder
Definition
ZDC_HitCollectionBuilders.h:43
ZDC_EscapedEnergyProcessing
Definition
ZDC_EscapedEnergyProcessing.h:33
ZDC_G4CalibSD::m_simulationEnergies
CaloG4::SimulationEnergies * m_simulationEnergies
Definition
ZDC_G4CalibSD.h:60
ZDC_G4CalibSD::m_energies
std::vector< G4double > m_energies
Definition
ZDC_G4CalibSD.h:53
ZDC_G4CalibSD::operator=
ZDC_G4CalibSD & operator=(const ZDC_G4CalibSD &)=delete
ZDC_G4CalibSD::m_hitCollectionName
std::string m_hitCollectionName
Definition
ZDC_G4CalibSD.h:50
ZDC_G4CalibSD::m_zdc_eep
ZDC_EscapedEnergyProcessing * m_zdc_eep
Definition
ZDC_G4CalibSD.h:61
ZDC_G4CalibSD::m_numberInvalidHits
G4int m_numberInvalidHits
Definition
ZDC_G4CalibSD.h:56
ZDC_G4CalibSD::m_doPID
G4bool m_doPID
Definition
ZDC_G4CalibSD.h:58
ZDC_G4CalibSD::m_HitColl
ZDC_CalibrationHitContainerBuilder * m_HitColl
Definition
ZDC_G4CalibSD.h:52
ZDC_G4CalibSD::SpecialHit
G4bool SpecialHit(G4Step *a_step, const std::vector< G4double > &a_energies)
Definition
ZDC_G4CalibSD.cxx:110
ZDC_G4CalibSD::FRIEND_TEST
FRIEND_TEST(ZDC_G4CalibSDtest, SpecialHit)
ZDC_G4CalibSD::~ZDC_G4CalibSD
virtual ~ZDC_G4CalibSD()
Definition
ZDC_G4CalibSD.cxx:22
ZDC_G4CalibSD::FRIEND_TEST
FRIEND_TEST(ZDC_G4CalibSDtest, ProcessHits)
ZDC_G4CalibSD::ZDC_G4CalibSD
ZDC_G4CalibSD(const G4String &a_name, const G4String &hitCollectionName, bool doPID=false)
Definition
ZDC_G4CalibSD.cxx:16
ZDC_G4CalibSD::getHitCollection
ZDC_CalibrationHitContainerBuilder * getHitCollection() const
Definition
ZDC_G4CalibSD.cxx:120
ZDC_G4CalibSD::SimpleHit
G4bool SimpleHit(const Identifier &id, const std::vector< double > &energies, const G4Track *track=nullptr)
Definition
ZDC_G4CalibSD.cxx:61
ZDC_G4CalibSD::FRIEND_TEST
FRIEND_TEST(ZDC_G4CalibSDtest, SimpleHit)
ZDC_G4CalibSD::ProcessHits
G4bool ProcessHits(G4Step *a_step, G4TouchableHistory *) override
Definition
ZDC_G4CalibSD.cxx:32
ZDC_G4CalibSD::ZDC_G4CalibSD
ZDC_G4CalibSD(const ZDC_G4CalibSD &)=delete
ZDC_G4CalibSD::m_id
Identifier m_id
Definition
ZDC_G4CalibSD.h:59
Identifier
Definition
IdentifierFieldParser.cxx:14
Generated on
for ATLAS Offline Software by
1.17.0