|  | 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