ATLAS Offline Software
Simulation
G4Extensions
G4HitFilter
src
G4HitFilter.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef G4HITFILTER_H
6
#define G4HITFILTER_H
7
8
#include <string>
9
#include <vector>
10
#include <map>
11
12
#include "G4UserEventAction.hh"
13
#include "G4UserRunAction.hh"
14
#include "
AthenaBaseComps/AthMessaging.h
"
15
16
#include "
StoreGate/StoreGateSvc.h
"
17
#include "GaudiKernel/ServiceHandle.h"
18
19
namespace
G4UA
20
{
21
22
class
G4HitFilter
:
23
public
AthMessaging
,
public
G4UserEventAction,
public
G4UserRunAction
24
{
25
26
public
:
27
28
struct
Config
29
{
30
std::vector<std::string>
volumenames
;
31
};
32
34
G4HitFilter
(
const
Config
&
config
);
35
36
struct
Report
37
{
38
int
ntot
= 0;
39
int
npass
= 0;
40
void
merge
(
const
Report
&
rep
){
41
ntot
+=
rep
.ntot;
42
npass
+=
rep
.npass;
43
}
44
};
45
46
const
Report
&
getReport
()
const
47
{
return
m_report
; }
48
49
virtual
void
EndOfEventAction
(
const
G4Event*)
override
;
50
virtual
void
BeginOfRunAction
(
const
G4Run*)
override
;
51
52
private
:
53
54
enum
hitCntainerTypes
{
55
CALOCALIB
,
56
CSC
,
57
LAR
,
58
LUCID
,
59
MDT
,
60
RPC
,
61
SI
,
62
TGC
,
63
TILE
,
64
TRT
};
65
66
Config
m_config
;
67
Report
m_report
;
68
71
std::vector< std::pair<int,std::string> >
m_hitContainers
;
72
73
};
// class G4HitFilter
74
75
}
// namespace G4UA
76
77
#endif
G4UA::G4HitFilter::Report
Definition:
G4HitFilter.h:37
G4UA::G4HitFilter::Report::npass
int npass
Definition:
G4HitFilter.h:39
G4UA
for nSW
Definition:
CalibrationDefaultProcessing.h:19
make_hlt_rep.rep
rep
Definition:
make_hlt_rep.py:32
G4UA::G4HitFilter::m_config
Config m_config
Definition:
G4HitFilter.h:66
G4UA::G4HitFilter::MDT
@ MDT
Definition:
G4HitFilter.h:59
G4UA::G4HitFilter::EndOfEventAction
virtual void EndOfEventAction(const G4Event *) override
Definition:
G4HitFilter.cxx:77
config
Definition:
PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
G4UA::G4HitFilter::LAR
@ LAR
Definition:
G4HitFilter.h:57
G4UA::G4HitFilter::TILE
@ TILE
Definition:
G4HitFilter.h:63
TRT
Definition:
HitInfo.h:33
G4UA::G4HitFilter::Report::merge
void merge(const Report &rep)
Definition:
G4HitFilter.h:40
G4UA::G4HitFilter::Config
Definition:
G4HitFilter.h:29
G4UA::G4HitFilter::SI
@ SI
Definition:
G4HitFilter.h:61
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition:
AthMessaging.h:55
G4UA::G4HitFilter::RPC
@ RPC
Definition:
G4HitFilter.h:60
G4UA::G4HitFilter::BeginOfRunAction
virtual void BeginOfRunAction(const G4Run *) override
Definition:
G4HitFilter.cxx:39
G4UA::G4HitFilter::TGC
@ TGC
Definition:
G4HitFilter.h:62
G4UA::G4HitFilter
Definition:
G4HitFilter.h:24
G4UA::G4HitFilter::CALOCALIB
@ CALOCALIB
Definition:
G4HitFilter.h:55
G4UA::G4HitFilter::G4HitFilter
G4HitFilter(const Config &config)
Constructor.
Definition:
G4HitFilter.cxx:32
G4UA::G4HitFilter::CSC
@ CSC
Definition:
G4HitFilter.h:56
G4UA::G4HitFilter::m_report
Report m_report
Definition:
G4HitFilter.h:67
G4UA::G4HitFilter::Report::ntot
int ntot
Definition:
G4HitFilter.h:38
G4UA::G4HitFilter::Config::volumenames
std::vector< std::string > volumenames
Definition:
G4HitFilter.h:30
G4UA::G4HitFilter::hitCntainerTypes
hitCntainerTypes
Definition:
G4HitFilter.h:54
AthMessaging.h
G4UA::G4HitFilter::getReport
const Report & getReport() const
Definition:
G4HitFilter.h:46
G4UA::G4HitFilter::m_hitContainers
std::vector< std::pair< int, std::string > > m_hitContainers
A list of (hitContainerTypes, volumeName) pairs, filled in BeginOfRunAction.
Definition:
G4HitFilter.h:71
G4UA::G4HitFilter::LUCID
@ LUCID
Definition:
G4HitFilter.h:58
StoreGateSvc.h
Generated on Thu Jul 4 2024 21:16:05 for ATLAS Offline Software by
1.8.18