diff --git a/include/ASCIIPrimaryGenerator.hh b/include/ASCIIPrimaryGenerator.hh
index c4403ae4634f1516655660297ed14153869e4b87..4bb8a9b28bc8914dc5d439dc7be70bd60bc27d73 100644
--- a/include/ASCIIPrimaryGenerator.hh
+++ b/include/ASCIIPrimaryGenerator.hh
@@ -50,8 +50,9 @@ class ASCIIPrimaryGenerator : public G4VPrimaryGenerator
     ASCIIPrimaryGenerator();
    ~ASCIIPrimaryGenerator();
 
-   virtual void SetInputFile(G4String _name);
-   virtual void GetNextEvent( );
+   virtual void  SetInputFile(G4String _name);
+   virtual void  GetNextEvent( );
+   inline  G4int GetnEvents(){return fnEvents;}
 
   public:
     virtual void GeneratePrimaryVertex(G4Event*);
@@ -61,7 +62,7 @@ class ASCIIPrimaryGenerator : public G4VPrimaryGenerator
     std::vector< G4ThreeVector >*   fMomentumVec;
     std::vector< G4double >*        fEnergyVec;
     G4int                           fEventNo;
-    G4int                           fnEvents;
+    G4int                           fnEvents = 0;
     std::ifstream                   fInputFile;
 };
 
diff --git a/include/PrimaryGeneratorAction.hh b/include/PrimaryGeneratorAction.hh
index ca663a090eb39581c584264058fa728f010aad92..4569e62f37ba6a1c774f1fdfd57ca56e9fe372d7 100644
--- a/include/PrimaryGeneratorAction.hh
+++ b/include/PrimaryGeneratorAction.hh
@@ -46,8 +46,9 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
     virtual ~PrimaryGeneratorAction();
 
   public:
-    virtual void GeneratePrimaries(G4Event*);
-    virtual void SetInputFile(G4String _name);
+    virtual void  GeneratePrimaries(G4Event*);
+    virtual void  SetInputFile(G4String _name);
+    inline  G4int GetnEvents(){return fASCIIParticleGun->GetnEvents();}
 
   private:
     G4GeneralParticleSource*        fParticleGun;
diff --git a/lightGuide.cc b/lightGuide.cc
index 603ada7321c770c24d16850deeec0ad5ab5b63da..e5850e6d471558120c345418c01943c514f22acd 100644
--- a/lightGuide.cc
+++ b/lightGuide.cc
@@ -45,6 +45,7 @@
 #include "DetectorConstruction.hh"
 
 #include "ActionInitialization.hh"
+#include "PrimaryGeneratorAction.hh"
 
 #include "G4VisExecutive.hh"
 #include "G4UIExecutive.hh"
@@ -124,9 +125,9 @@ int main(int argc,char** argv)
   // Set mandatory initialization classes
   //
   // Detector construction
-  runManager-> SetUserInitialization(new DetectorConstruction());
+  runManager->SetUserInitialization(new DetectorConstruction());
   // Physics list
-  runManager-> SetUserInitialization(new PhysicsList());
+  runManager->SetUserInitialization(new PhysicsList());
   // User action initialization
   runManager->SetUserInitialization(new ActionInitialization(output));
 
@@ -148,6 +149,11 @@ int main(int argc,char** argv)
      // Batch mode
      G4String command = "/control/execute ";
      UImanager->ApplyCommand(command+macro);
+     PrimaryGeneratorAction* pga = (PrimaryGeneratorAction*)runManager->GetUserPrimaryGeneratorAction();
+     G4int nEvents = pga->GetnEvents();
+     if( nEvents > 0){
+       runManager->BeamOn(nEvents);
+     }
   }
   else // Define UI session for interactive mode
   {
diff --git a/run1.mac b/run1.mac
index 4675a885a6001ed97c85aa23149b08eeec4506be..e1257ff8101ccdd7596ae499c2867e1272b0662b 100644
--- a/run1.mac
+++ b/run1.mac
@@ -31,6 +31,6 @@
 ##############################################################
 ##############################################################
 # number of events
-/run/beamOn 10
+#/run/beamOn 1
 ##############################################################
 ##############################################################
diff --git a/src/ASCIIPrimaryGenerator.cc b/src/ASCIIPrimaryGenerator.cc
index 4311fcf5c2485d82dc69dca21e43456e57fc0904..96f77dcfe514767d95573a377b345dbe3ba11387 100644
--- a/src/ASCIIPrimaryGenerator.cc
+++ b/src/ASCIIPrimaryGenerator.cc
@@ -34,6 +34,7 @@
 #include "ASCIIPrimaryGenerator.hh"
 
 #include "G4Event.hh"
+#include "G4RunManager.hh"
 #include "G4ParticleTable.hh"
 #include "G4ParticleDefinition.hh"
 #include "G4PrimaryParticle.hh"