Shift in Energy output data spectrum

Dear experts!
I found a shift in energy that appeared in the output data as in the attached file
this thing happed when defining the PrimaryGeneratorAction and I didn’t know why this shift happen
I built the primarygeneratoraction as follows:

PrimaryGeneratorAction::PrimaryGeneratorAction()
: G4VUserPrimaryGeneratorAction(),fPrimary()
{
particleGun = new G4GeneralParticleSource();
particleGun->SetCurrentSourceIntensity (1);
particleGun->SetParticlePosition(G4ThreeVector());
}

void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
{
if (particleGun->GetParticleDefinition() == G4Geantino::Geantino()) {
G4int Z = 10, A = 24;
G4double ionCharge = 0.*eplus;
G4double excitEnergy = 0.*keV;

G4ParticleDefinition* ion
   = G4IonTable::GetIonTable()->GetIon(Z,A,excitEnergy);
particleGun->SetParticleDefinition(ion);
particleGun->SetParticleCharge(ionCharge);

}
//create vertex
//
particleGun->GeneratePrimaryVertex(anEvent);
//create vertex

particleGun->GeneratePrimaryVertex(anEvent);
#ifdef ANALYSIS_USE 

if (fPrimary) {
G4ParticleDefinition* particle
= fPrimary->GetParticleGun()->GetParticleDefinition();
G4double energy = fPrimary->GetParticleGun()->GetParticleEnergy();
fRun->SetPrimary(particle, energy);
}
#endif
}

PrimaryGeneratorAction::~PrimaryGeneratorAction()
{
delete particleGun;

}