Go to the documentation of this file.00001 #ifndef SimG4Core_PrintSensitive_H
00002 #define SimG4Core_PrintSensitive_H
00003
00004 #include "SimG4Core/Watcher/interface/SimWatcher.h"
00005 #include "SimG4Core/Notification/interface/Observer.h"
00006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00007
00008 #include "G4NavigationHistory.hh"
00009
00010 #include <iostream>
00011 #include <string>
00012
00013 class BeginOfRun;
00014 class G4VPhysicalVolume;
00015
00016 class PrintSensitive : public SimWatcher,
00017 public Observer<const BeginOfRun *> {
00018
00019 public:
00020
00021 PrintSensitive(edm::ParameterSet const & p);
00022 ~PrintSensitive();
00023
00024 private:
00025
00026 void update(const BeginOfRun * run);
00027 void dumpTouch(G4VPhysicalVolume * pv, unsigned int leafDepth, bool printIt,
00028 std::ostream & out = std::cout);
00029 G4VPhysicalVolume * getTopPV();
00030
00031 private:
00032 std::string name;
00033 int nchar;
00034 G4NavigationHistory fHistory;
00035 };
00036
00037 #endif