diff --git a/CODE/PrimaryGeneratorAction.hh b/CODE/PrimaryGeneratorAction.hh
new file mode 100644
index 0000000000000000000000000000000000000000..487a145cd913fd5469db6cdc22dee0487aefc4a9
--- /dev/null
+++ b/CODE/PrimaryGeneratorAction.hh
@@ -0,0 +1,78 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+/// \file /include/PrimaryGeneratorAction.hh
+/// \brief Definition of the PrimaryGeneratorAction class
+//
+//
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef PrimaryGeneratorAction_h
+#define PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+#include "globals.hh"
+#include "G4ParticleGun.hh"
+
+#include "PrimarySpectrum.hh"
+
+class G4ParticleGun;
+class G4Event;
+class PrimaryGeneratorMessenger;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    PrimaryGeneratorAction();
+    virtual ~PrimaryGeneratorAction();
+
+  public:
+    virtual void GeneratePrimaries(G4Event*);
+    const G4ParticleGun* GetParticleGun() const
+		{
+			return fParticleGun;
+		}
+    void SetOptPhotonPolar();
+    void SetOptPhotonPolar(G4double);
+
+  private:
+    G4double enerPart;
+    G4ParticleGun* fParticleGun;
+    PrimarySpectrum parPosDir;
+    PrimaryGeneratorMessenger* fGunMessenger;
+
+
+
+
+
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif /*PrimaryGeneratorAction_h*/