|
||||
File indexing completed on 2025-01-18 09:55:23
0001 //========================================================================== 0002 // AIDA Detector description implementation 0003 //-------------------------------------------------------------------------- 0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) 0005 // All rights reserved. 0006 // 0007 // For the licensing terms see $DD4hepINSTALL/LICENSE. 0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS. 0009 // 0010 // Author : M.Frank 0011 // 0012 //========================================================================== 0013 0014 #ifndef DDG4_GEANT4DATADUMP_H 0015 #define DDG4_GEANT4DATADUMP_H 0016 0017 // Framework include files 0018 #include <DD4hep/Printout.h> 0019 #include <DDG4/Geant4Data.h> 0020 #include <DDG4/Geant4Particle.h> 0021 0022 // C/C++ include files 0023 #include <vector> 0024 0025 /// Namespace for the AIDA detector description toolkit 0026 namespace dd4hep { 0027 0028 /// Namespace for the Geant4 based simulation part of the AIDA detector description toolkit 0029 namespace sim { 0030 0031 /// Class to dump the records of the intrinsic Geant4 event model. 0032 /** 0033 * \author M.Frank 0034 * \version 1.0 0035 * \ingroup DD4HEP_SIMULATION 0036 */ 0037 class Geant4DataDump { 0038 public: 0039 typedef Geant4Particle Particle; 0040 typedef std::vector<Particle*> Particles; 0041 0042 typedef SimpleTracker::Hit TrackerHit; 0043 typedef std::vector<SimpleTracker::Hit*> TrackerHits; 0044 0045 typedef SimpleCalorimeter::Hit CalorimeterHit; 0046 typedef std::vector<SimpleCalorimeter::Hit*> CalorimeterHits; 0047 0048 protected: 0049 /// Tag variable 0050 std::string m_tag; 0051 0052 public: 0053 /// Default constructor 0054 Geant4DataDump(const std::string& tag); 0055 /// Standard destructor 0056 virtual ~Geant4DataDump(); 0057 #if !(defined(G__DICTIONARY) || defined(__CLANG__) || defined(__CINT__) || defined(__MAKECINT__)) 0058 /// Print a single particle to the output logging using the specified print level 0059 void print(PrintLevel level, Geant4ParticleHandle p) const; 0060 /// Print a single particle to the output logging using the specified print level 0061 void print(PrintLevel level, int key, Geant4ParticleHandle p) const; 0062 #endif 0063 /// Print the particle map to the output logging using the specified print level 0064 void print(PrintLevel level, const Geant4ParticleMap* parts) const; 0065 0066 /// Print the particle container to the output logging using the specified print level 0067 void print(PrintLevel level, const std::string& container, const Particles* parts) const; 0068 0069 /// Print a single tracker hit to the output logging using the specified print level 0070 void print(PrintLevel level, const TrackerHit* h) const; 0071 /// Print the tracker hits container to the output logging using the specified print level 0072 void print(PrintLevel level, const std::string& container, const TrackerHits* hits) const; 0073 0074 /// Print a calorimeter tracker hit to the output logging using the specified print level 0075 void print(PrintLevel level, const CalorimeterHit* h) const; 0076 /// Print the calorimeter hits container to the output logging using the specified print level 0077 void print(PrintLevel level, const std::string& container, const CalorimeterHits* hits) const; 0078 0079 }; 0080 } // End namespace sim 0081 } // End namespace dd4hep 0082 0083 #endif // DDG4_GEANT4DATADUMP_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |