ATLAS Offline Software
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"
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 
56  CSC,
57  LAR,
59  MDT,
60  RPC,
61  SI,
62  TGC,
64  TRT };
65 
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