Message: To Many Cerenkov Photons Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None To Many Cerenkov Photons 

Forum: Processes Involving Optical Photons
Date: 29 Nov, 2010
From: Davinder Siwal <Davinder Siwal>

Hii Geant4 Users

I am trying to simulate the neutron detector to calculate the detection efficiency but i am getting too much Cerenkov photons in my simulation

the output of my simulation is

Number of optical photons produced by Scintillation Process : 15932 Number of optical photons produced by Cerenkov Process : 1953850734 Total energy deposited by this event = 1.0010424 MeV

I am using the following physics list for optical photon process

void NdetOpticalPhysics::ConstructOpticalProcess()
{
  theCerenkovProcess = new G4Cerenkov("Cerenkov");
  theScintillationProcess = new G4Scintillation("Scintillation");
  theAbsorptionProcess = new G4OpAbsorption();
  theRayleighScatteringProcess = new G4OpRayleigh();
  theBoundaryProcess  = new G4OpBoundaryProcess();

  //-------- Set Verbosity 
  theScintillationProcess->SetVerboseLevel(1);
  theAbsorptionProcess->SetVerboseLevel(1);
  theRayleighScatteringProcess->SetVerboseLevel(1);
  theBoundaryProcess->SetVerboseLevel(1);
  //-----------------------

  // G4ProcessManager* pManager = 0;
  //pManager = G4OpticalPhoton::OpticalPhoton()->GetProcessManager();
  //pManager->AddDiscreteProcess(theAbsorptionProcess);
  //pManager->AddDiscreteProcess(theRayleighScatteringProcess);
  //pManager->AddDiscreteProcess(theBoundaryProcess);

  theCerenkovProcess->SetMaxNumPhotonsPerStep(10);
  theCerenkovProcess->SetTrackSecondariesFirst(true);

  theScintillationProcess->SetScintillationYieldFactor(1);
  theScintillationProcess->SetTrackSecondariesFirst(true);

   G4OpticalSurfaceModel themodel = unified;
  theBoundaryProcess->SetModel(themodel);

  theParticleIterator->reset();
  while( (*theParticleIterator)())
    {
   G4ParticleDefinition* particle = theParticleIterator->value();
   G4ProcessManager* pmanager = particle->GetProcessManager();
     G4String particleName = particle->GetParticleName();

   if (theScintillationProcess->IsApplicable(*particle)) 
     {
       pmanager->AddProcess(theScintillationProcess);
       pmanager->SetProcessOrderingToLast(theScintillationProcess, idxAtRest);
       pmanager->SetProcessOrderingToLast(theScintillationProcess, idxPostStep);
     }
   if (particleName == "opticalphoton") 
     {
       G4cout << " AddDiscreteProcess to OpticalPhoton " << G4endl;
       pmanager->AddDiscreteProcess(theAbsorptionProcess);
       pmanager->AddDiscreteProcess(theRayleighScatteringProcess);
       pmanager->AddDiscreteProcess(theBoundaryProcess);
     }

    }
}

Can Anyone Suggest me the reason for large no. of Cerenkov photons and how can i switch off the Cerenkov photons

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

1 Feedback: Re: To Many Cerenkov Photons   (Gumplinger Peter - 30 Nov, 2010)
 Add Message Add Message
to: "To Many Cerenkov Photons"

 Subscribe Subscribe

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