CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SimG4Core/HelpfulWatchers/src/BeginOfTrackCounter.h

Go to the documentation of this file.
00001 #ifndef HelpfulWatchers_BeginOfTrackCounter_h
00002 #define HelpfulWatchers_BeginOfTrackCounter_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     HelpfulWatchers
00006 // Class  :     BeginOfTrackCounter
00007 // 
00017 //
00018 // Original Author:  
00019 //         Created:  Tue Nov 29 12:26:39 EST 2005
00020 // $Id: BeginOfTrackCounter.h,v 1.1 2005/11/29 18:42:56 chrjones Exp $
00021 //
00022 
00023 // system include files
00024 #include <string>
00025 
00026 // user include files
00027 #include "SimG4Core/Watcher/interface/SimProducer.h"
00028 #include "SimG4Core/Notification/interface/Observer.h"
00029 #include "SimG4Core/Notification/interface/BeginOfTrack.h"
00030 
00031 // forward declarations
00032 namespace simwatcher {
00033    class BeginOfTrackCounter : public SimProducer,
00034       public Observer<const BeginOfTrack*>
00035 {
00036 
00037    public:
00038       BeginOfTrackCounter(const edm::ParameterSet&);
00039  
00040       // ---------- const member functions ---------------------
00041 
00042       // ---------- static member functions --------------------
00043 
00044       // ---------- member functions ---------------------------
00045       void produce(edm::Event&, const edm::EventSetup&);
00046 
00047    private:
00048       BeginOfTrackCounter(const BeginOfTrackCounter&); // stop default
00049 
00050       const BeginOfTrackCounter& operator=(const BeginOfTrackCounter&); // stop default
00051 
00052       void update(const BeginOfTrack*);
00053       // ---------- member data --------------------------------
00054       int m_count;
00055       std::string m_label;
00056 };
00057 
00058 }
00059 #endif