CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/SimG4Core/HelpfulWatchers/interface/MonopoleSteppingAction.h

Go to the documentation of this file.
00001 #ifndef SimG4Core_HelpfulWatchers_MonopoleSteppingAction_H
00002 #define SimG4Core_HelpfulWatchers_MonopoleSteppingAction_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 "G4Step.hh"
00009 #include <vector>
00010 
00011 class BeginOfJob;
00012 class BeginOfRun;
00013 class BeginOfTrack;
00014 
00015 class MonopoleSteppingAction : public SimWatcher,
00016                                public Observer<const BeginOfJob *>,
00017                                public Observer<const BeginOfRun *>,
00018                                public Observer<const BeginOfTrack *>,
00019                                public Observer<const G4Step *> {
00020 public:
00021   MonopoleSteppingAction(edm::ParameterSet const & p);
00022   ~MonopoleSteppingAction();
00023   void update(const BeginOfJob*);
00024   void update(const BeginOfRun*);
00025   void update(const BeginOfTrack*);
00026   void update(const G4Step*);
00027 
00028 private:
00029   bool             mode, actOnTrack;
00030   std::vector<int> pdgCode;
00031   double           eStart, pxStart, pyStart, pzStart;
00032   double           dirxStart, diryStart, dirzStart;
00033   double           cMevToJ, cMeVToKgMByS, cInMByS, magCharge, bZ;
00034 };
00035 
00036 #endif