CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/Alignment/LaserAlignmentSimulation/interface/LaserPrimaryGeneratorAction.h

Go to the documentation of this file.
00001 #ifndef LaserAlignmentSimulation_LaserPrimaryGeneratorAction_h
00002 #define LaserAlignmentSimulation_LaserPrimaryGeneratorAction_h
00003 
00012 #include "Alignment/LaserAlignmentSimulation/interface/LaserBeamsTEC1.h"
00013 #include "Alignment/LaserAlignmentSimulation/interface/LaserBeamsTEC2.h"
00014 #include "Alignment/LaserAlignmentSimulation/interface/LaserBeamsBarrel.h"
00015 
00016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00017 
00018 // G4 includes
00019 #include "G4Event.hh"
00020 #include "G4VUserPrimaryGeneratorAction.hh"
00021 #include "Randomize.hh"
00022 
00023 class G4Event;
00024 class LaserPrimaryGeneratorMessenger;
00025 
00026 class LaserPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
00027 {
00028  public:
00030   LaserPrimaryGeneratorAction(edm::ParameterSet const& theConf);
00032   ~LaserPrimaryGeneratorAction();
00033 
00034  public:
00036   void GeneratePrimaries(G4Event* myEvent);
00038   void setGeneratorId(G4PrimaryParticle * aParticle, int ID) const;
00039 
00040  private:
00041   G4double thePhotonEnergy;
00042   G4int thenParticleInGun;
00043   G4int thenParticle;
00044 
00045  private:
00046   LaserBeamsTEC1 * theLaserBeamsInTEC1;
00047   LaserBeamsTEC2 * theLaserBeamsInTEC2;
00048   LaserBeamsBarrel * theLaserBeamsInTECTIBTOBTEC;
00049 };
00050 #endif