|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef G4UserActions_LengthIntegrator_H
6 #define G4UserActions_LengthIntegrator_H
8 #include "GaudiKernel/ITHistSvc.h"
9 #include "GaudiKernel/ServiceHandle.h"
14 #include "G4UserEventAction.hh"
15 #include "G4UserSteppingAction.hh"
42 public G4UserSteppingAction
113 void regAndFillHist(
const std::string&,
const std::pair<double, double>&);
117 TProfile2D*
getOrCreateProfile(
const std::string& regName,
const TString&
histoname,
const TString&
xtitle,
int nbinsx,
float xmin,
float xmax,
const TString& ytitle,
int nbinsy,
float ymin,
float ymax,
const TString& ztitle);
150 std::map<std::string,TProfile2D*,std::less<std::string> >
m_rzMapRL;
151 std::map<std::string,TProfile2D*,std::less<std::string> >
m_xyMapRL;
153 std::map<std::string,TProfile2D*,std::less<std::string> >
m_rzMapIL;
154 std::map<std::string,TProfile2D*,std::less<std::string> >
m_xyMapIL;
std::map< std::string, TProfile * > m_etaMapIL
Int-length profile hist in eta.
std::vector< float > m_collected_density
virtual void BeginOfEventAction(const G4Event *) override
Called at beginning of G4 event to cache some details about the current primary vertex and particle.
std::vector< double > m_collected_X0
std::map< std::string, TProfile2D *, std::less< std::string > > m_rzMapIL
std::map< std::string, std::pair< double, double > > m_detThickMap
Map of detector thickness measurements for current event.
std::map< std::string, TProfile * > m_phiMapIL
Int-length profile hist in phi.
std::map< std::string, TProfile2D *, std::less< std::string > > m_rzMapRL
TProfile2D * getOrCreateProfile(const std::string ®Name, const TString &histoname, const TString &xtitle, int nbinsx, float xmin, float xmax, const TString &ytitle, int nbinsy, float ymin, float ymax, const TString &ztitle)
this method checks if a histo is on THsvc already and caches a local pointer to it if the histo is no...
std::vector< std::string > m_collected_volumetype
void addToDetThickMap(const std::string &, double, double)
double m_etaPrimary
Cached eta of the current primary.
std::map< std::string, TProfile * > m_etaMapRL
Rad-length profile hist in eta.
std::vector< float > m_collected_hitx
void regAndFillHist(const std::string &, const std::pair< double, double > &)
Setup one set of measurement hists for a detector name.
A user action used to evaluate thickness of all detectors traversed by outgoing particles.
TProfile2D * m_rzProfIL
Int-length profile hist in R-Z.
ServiceHandle< ITHistSvc > m_hSvc
Handle to the histogram service.
std::string getVolumeType(const std::string &s)
def TProfile(*args, **kwargs)
std::map< std::string, TProfile2D *, std::less< std::string > > m_xyMapRL
virtual void UserSteppingAction(const G4Step *) override
Called at every particle step to accumulate thickness.
TProfile2D * m_rzProfRL
Rad-length profile hist in R-Z.
std::vector< float > m_collected_hity
std::vector< float > m_collected_hitz
std::vector< float > m_collected_outhitr
std::vector< float > m_collected_outhitz
std::vector< float > m_collected_outhitx
std::map< std::string, TProfile * > m_phiMapRL
Rad-length profile hist in phi.
std::vector< double > m_collected_L0
std::vector< float > m_collected_outhity
std::map< std::string, TProfile2D *, std::less< std::string > > m_xyMapIL
std::vector< std::string > m_collected_material
LengthIntegrator(const std::string &histSvcName, bool doHistos)
Constructor takes the name of the histogram service as argument.
std::vector< std::string > m_collected_groupedmaterial
std::vector< std::string > m_collected_volume
LengthIntegrator(const LengthIntegrator &)=delete
std::string getMaterialClassification(const std::string &name)
LengthIntegrator & operator=(const LengthIntegrator &)=delete
double m_phiPrimary
Cached phi of the current primary.
virtual void EndOfEventAction(const G4Event *) override
Called at end of G4 event to finalize measurements and fill hists.
std::vector< float > m_collected_hitr