Message: "G4PhysicsListHelper::RegisterProcess : No Process Manager for gamma" when registering new process Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question "G4PhysicsListHelper::RegisterProcess : No Process Manager for gamma" when registering new process 

Forum: Physics List
Date: 20 Jul, 2015
From: Jayson Vavrek <Jayson Vavrek>

Hi all,

I'm trying to implement a custom physics process—nuclear resonance fluorescence, or NRF. I'm having trouble in the step in which I add it to the G4VModularPhysicsList. In particular, I get the following error message:

G4PhysicsListHelper::RegisterProcess  : No Process Manager for gamma
-------- EEEE ------- G4Exception-START -------- EEEE -------
*** G4Exception : Riun0110
      issued by : G4PhysicsListHelper::RegisterProcess   
No process manager
*** Fatal Exception *** core dump ***
-------- EEEE -------- G4Exception-END --------- EEEE -------
*** G4Exception: Aborting execution ***
Abort trap: 6

Below is some minimal code of what I'm doing. I have the class G4NRF, which calculates the physics of the interaction; the class G4NRFPhysics, which uses the G4VPhysicsConstructor and instantiates G4NRF; and the physics list (plus associated .hh files).

physicsList.cc:

void physicsList::ConstructPhysics()
{
  ...
  RegisterPhysics(new G4DecayPhysics);
  RegisterPhysics(new G4NRFPhysics);
  ...
}

G4NRFPhysics.cc:

#include "G4NRFPhysics.hh"
G4NRFPhysics::G4NRFPhysics() : G4VPhysicsConstructor("NRF")
{
  ...
  G4cout << "In G4NRFPhysics() constructor" << G4endl;
  G4LossTableManager::Instance();
  SetPhysicsType(bElectromagnetic);
  ConstructProcess();
  ...
}

void G4NRFPhysics::ConstructParticle()
{
	G4cout << "In G4NRFPhysics::ConstructParticle()" << G4endl;
}

void G4NRFPhysics::ConstructProcess()
{
  ...
  G4cout << "In G4NRFPhysics::ConstructProcess()" << G4endl;
  G4NRF *nrf = new G4NRF("NRF");
  G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
  ph->RegisterProcess(nrf, G4Gamma::Gamma());
 ...
}

G4NRF.cc:

G4NRF::G4NRF(const G4String& processName, G4bool Verbose_in)
  : G4VDiscreteProcess(processName),
    Verbose(Verbose_in)
{ 
  ...
  G4cout << "G4NRF constructor..." << G4endl;
  SetProcessType(fElectromagnetic);
  SetProcessSubType(fElectromagnetic);
  ...
}

I've tried to follow the logic of G4ComptonScattering.cc and G4EmStandardPhysics.cc, so if I'm missing something crucial from there, please let me know!

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: G4PhysicsListHelper::RegisterProcess : No Process Manager for gamma when registering new process   (Michael H. Kelsey - 20 Jul, 2015)
1 Ok: Solved   (Jayson Vavrek - 21 Jul, 2015)
(_ Warning: Re: Solved   (Andrea Dotti - 21 Jul, 2015)
2 More: Re:   (Jayson Vavrek - 20 Jul, 2015)
1 Note: Re:   (Jayson Vavrek - 21 Jul, 2015)
 Add Message Add Message
to: ""G4PhysicsListHelper::RegisterProcess : No Process Manager for gamma" when registering new process"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]