00001 #ifndef SimG4Core_PrintTrackNumberAction_H 00002 #define SimG4Core_PrintTrackNumberAction_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 class EndOfEvent; 00009 class EndOfTrack; 00010 00011 class PrintTrackNumberAction : public SimWatcher, 00012 public Observer<const EndOfEvent *>, 00013 public Observer<const EndOfTrack *> 00014 { 00015 public: 00016 PrintTrackNumberAction(edm::ParameterSet const & p); 00017 ~PrintTrackNumberAction(); 00018 void update(const EndOfTrack * trk); 00019 void update(const EndOfEvent * trk); 00020 private: 00021 int theNoTracks; 00022 int theNoTracksThisEvent; 00023 int theNoTracksNoUL; 00024 int theNoTracksThisEventNoUL; 00025 int theNoTracksToPrint; 00026 bool bNoUserLimits; 00027 }; 00028 00029 #endif 00030 00031