include/BDSPrimaryGeneratorAction.hh

00001 /* BDSIM code.    Version 1.0
00002    Author: Grahame A. Blair, Royal Holloway, Univ. of London.
00003    Last modified 24.7.2002
00004    Copyright (c) 2002 by G.A.Blair.  ALL RIGHTS RESERVED. 
00005 
00006    Modified 22.03.05 by J.C.Carter, Royal Holloway, Univ. of London.
00007    Added GABs SynchGen code
00008 */
00009 
00010 
00011 #ifndef BDSPrimaryGeneratorAction_h
00012 #define BDSPrimaryGeneratorAction_h 
00013 
00014 #include "G4VUserPrimaryGeneratorAction.hh"
00015 #include "globals.hh"
00016 #include <fstream>
00017 #include "BDSSynchrotronRadiation.hh"
00018 
00019 class G4ParticleGun;
00020 class G4Event;
00021 class BDSDetectorConstruction;
00022 
00023 
00024 class BDSPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
00025 {
00026 public:
00027   BDSPrimaryGeneratorAction(BDSDetectorConstruction*);    
00028   ~BDSPrimaryGeneratorAction();
00029   
00030 public:
00031   void GeneratePrimaries(G4Event*);
00032   
00033 private:
00034   G4ParticleGun*              particleGun;        //pointer a to G4 service class
00035   BDSDetectorConstruction*    BDSDetector;  //pointer to the geometry
00036   
00037   G4double weight;
00038  
00039   // beam data:
00040   G4double beta_x,sig_z,KineticEnergy,
00041     gamma,beta_y,sig_dp,emit_x,emit_y,charge;
00042 
00043   G4double sig_x,sig_xp,sig_y,sig_yp,sig_t;
00044   
00045   std::ifstream InputBunchFile;
00046   std::ifstream ExtractBunchFile;
00047 
00048   G4double logXfactor;
00049   G4double logYfactor;
00050 
00051   G4double itsSynchCritEng;
00052   BDSSynchrotronRadiation* itsBDSSynchrotronRadiation;
00053 
00054 };
00055 
00056 #endif
00057 
00058 

Generated on 27 Aug 2013 for BDSIM by  doxygen 1.4.7