Message: Re: Cerenkov photons Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Cerenkov photons  

Forum: Processes Involving Optical Photons
Re: Question Cerenkov photons "stuck" in parameterised geometry using v9.6p02 (Sam Blake)
Re: Feedback Re: Cerenkov photons (Gumplinger Peter)
Date: 24 Jul, 2013
From: Sam Blake <Sam Blake>

Hi Peter,

Firstly, thank you for your quick reply.

> Can you please post the first few lines of the stepping information when
> the track gets stuck and also turn on G4OpBoundaryProcess verbose for
> this.

Certainly - I was using the SteppingAction class to dump info including the event/step numbers, particle type, current volume and spatial coordinates etc... The following is a summary of this information:

EventID = 9	Step # 1	Particle: opticalphoton	ParentID: 2
		Volume: CoreParam	Copy Number: 0	Process: OpRayleigh	Creator Process:Cerenkov
		Position: (-14.5506,0.114811,-0.135845)	Energy: 4.3608

EventID = 9	Step # 2	Particle: opticalphoton	ParentID: 2
		Volume: CoreParam	Copy Number: 0	Process: OpRayleigh	Creator Process:Cerenkov
		Position: (-14.5506,0.114811,-0.135845)	Energy: 4.3608

EventID = 9	Step # 3	Particle: opticalphoton	ParentID: 2
		Volume: CoreParam	Copy Number: 0	Process: OpRayleigh	Creator Process:Cerenkov
		Position: (-14.5506,0.114811,-0.135845)	Energy: 4.3608

EventID = 9	Step # 4	Particle: opticalphoton	ParentID: 2
		Volume: CoreParam	Copy Number: 0	Process: OpRayleigh	Creator Process:Cerenkov
		Position: (-14.5506,0.114811,-0.135845)	Energy: 4.3608
...

^Caborting Run .../run/abort

After turning on the G4OpBoundaryProcess verbose (level 1), I get the following output:

Scattering Photon!
Old Momentum Direction: (0.813042,0.272653,-0.514416)
Old Polarization: (-0.376582,-0.427564,-0.821812)
New Polarization: (0.327999,0.454307,0.828264)
Polarization Change: (0.327999,0.454307,0.828264)
New Momentum Direction: (-0.879668,0.466512,0.0924714)
Momentum Change: (-0.879668,0.466512,0.0924714)
 Photon at Boundary! 
 thePrePV:  CoreParam
 thePostPV: CoreParam
 *** NotAtBoundary *** 

EventID = 0	Step # 1	Particle: opticalphoton	ParentID: 2
		Volume: CoreParam	Copy Number: 0	Process: OpRayleigh	Creator Process:Cerenkov
		Position: (-14.5506,0.114811,-0.135845)mm	Energy: 4.3608eV

Scattering Photon!
Old Momentum Direction: (-0.879668,0.466512,0.0924714)
Old Polarization: (0.327999,0.454307,0.828264)
New Polarization: (0.187563,-0.78915,-0.584861)
Polarization Change: (0.187563,-0.78915,-0.584861)
New Momentum Direction: (0.760505,-0.260166,0.594933)
Momentum Change: (0.760505,-0.260166,0.594933)
 Photon at Boundary! 
 thePrePV:  CoreParam
 thePostPV: CoreParam
 *** NotAtBoundary *** 

EventID = 0	Step # 2	Particle: opticalphoton	ParentID: 2
		Volume: CoreParam	Copy Number: 0	Process: OpRayleigh	Creator Process:Cerenkov
		Position: (-14.5506,0.114811,-0.135845)mm	Energy: 4.3608eV

Scattering Photon!
Old Momentum Direction: (0.760505,-0.260166,0.594933)
Old Polarization: (0.187563,-0.78915,-0.584861)
New Polarization: (-0.164876,-0.659212,-0.733659)
Polarization Change: (-0.164876,-0.659212,-0.733659)
New Momentum Direction: (-0.856669,0.464351,-0.224712)
Momentum Change: (-0.856669,0.464351,-0.224712)
 Photon at Boundary! 
 thePrePV:  CoreParam
 thePostPV: CoreParam
 *** NotAtBoundary *** 

EventID = 0	Step # 3	Particle: opticalphoton	ParentID: 2
		Volume: CoreParam	Copy Number: 0	Process: OpRayleigh	Creator Process:Cerenkov
		Position: (-14.5506,0.114811,-0.135845)mm	Energy: 4.3608eV

Scattering Photon!
Old Momentum Direction: (-0.856669,0.464351,-0.224712)
Old Polarization: (-0.164876,-0.659212,-0.733659)
New Polarization: (0.200105,0.749935,0.63052)
Polarization Change: (0.200105,0.749935,0.63052)
New Momentum Direction: (-0.234829,-0.588069,0.773971)
Momentum Change: (-0.234829,-0.588069,0.773971)
 Photon at Boundary! 
 thePrePV:  CoreParam
 thePostPV: CoreParam
 *** NotAtBoundary *** 

EventID = 0	Step # 4	Particle: opticalphoton	ParentID: 2
		Volume: CoreParam	Copy Number: 0	Process: OpRayleigh	Creator Process:Cerenkov
		Position: (-14.5506,0.114811,-0.135845)mm	Energy: 4.3608eV

I find it interesting that while the photon's position does not change from step to step, its momentum & polarization do.

> I cannot imagine that your navigation problem has anything to do with
> the optical photon production. It happens only Cerenkov photons in your
> simulation sample the geometry in a way that this problem occurs.

> I see nothing wrong with how you initialize the processes etc.

OK, that's good.

> Please, post your lines of code that have to do with the
> pixelated/parameterised geometry definition and how (if at all) you
> associate surfaces.

In my DetectorConstruction class, I first define a G4box (called physiPhosphor) to define the region containing the pixelated scintillator (and act as the mother volume).

solidPhosphor = new G4Box("Phosphor", PhosphorThickness/2, ArraySizeYZ/2, ArraySizeYZ/2);  		   
logicPhosphor = new G4LogicalVolume(solidPhosphor, defaultMaterial, defaultMaterial->GetName()); //set to defaultMaterial (PMMA)    
physiPhosphor = new G4PVPlacement(0, G4ThreeVector(-LayerThickness/2+AlTopPlateThickness+AirGap1Thickness+CopperThickness+AirGap2Thickness
											+GraphiteThickness+BackingThickness+SupportThickness+BinderThickness+PhosphorThickness/2,0.,0.), 
                                                                                        logicPhosphor, defaultMaterial->GetName(), logicLayer, false,0);

Here, some parameters are first defined to pass to my PlasticParameterisation class (derived from G4VPVParameterisation). Then, the G4PVParameterised volume physiCore is created, representing a 2D array of G4box fibers.

if (SegmentPitch > 0.)
{
	solidCore = new G4Box("Core", PhosphorThickness/2, SegmentPitch/2, SegmentPitch/2);
	logicCore = new G4LogicalVolume(solidCore, PhosphorMaterial, PhosphorMaterial->GetName());

	G4int NbOfSegments 	  = (int)(ArraySizeYZ/SegmentPitch); // the number of fibers along one axis
	G4double segmentSpacing = SegmentPitch; // the spacing between adjacent fiber centres is simply the side-length (pitch) of one fiber
	G4double firstPosition        = 0; // defines the centre position of the first segment parameterisation

        // setting the initial position for the first fiber to be placed - depends on if there are an odd or even number of fibers
	if (NbOfSegments % 2 == 0) 	// if even number of segments
	{ 	G4cout << "even number of fibers" << G4endl;
		firstPosition = -(NbOfSegments/2)*SegmentPitch + segmentSpacing/2; 
        }
	else 	// if odd number of segments
	{	G4cout << "odd number of fibers" << G4endl;
		firstPosition = -((NbOfSegments-1)/2)*SegmentPitch; 
        }

	G4double segmentWidth   = SegmentPitch; //cross-sectional size of square fiber
	G4double Length 		 = PhosphorThickness; // length of fiber

	G4VPVParameterisation* plasticParam = new PlasticParameterisation(
						                      NbOfSegments,		// NoSegments
						                      firstPosition,  	// Z of center of first
						                      segmentSpacing, 	// spacing of centers - just width of segment
						                      segmentWidth,  	// segment width
						                      Length);    		// fiber length

	physiCore = new G4PVParameterised("CoreParam",       	// their name
						            logicCore,   		// their logical volume
						            logicPhosphor,      // Mother logical volume
						            kUndefined,         // Are placed along this axis 
						            NbOfSegments*NbOfSegments,    	// Total number of fibers
						            plasticParam,    	// The parametrisation
						            true); //fCheckOverlaps); 	// checking overlaps 
}

Currently, I have not defined/associated any optical surfaces although I will be doing that after sorting out this problem :)

Thanks again for your help - just let me know if you would like to see any more code.

Cheers, Sam

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

1 Idea: Re: Cerenkov photons   (Gumplinger Peter - 24 Jul, 2013)
(_ None: Re: Cerenkov photons   (Sam Blake - 25 Jul, 2013)
(_ Ok: Re: Cerenkov photons   (Sam Blake - 05 Aug, 2013)
 Add Message Add Message
to: "Re: Cerenkov photons "

 Subscribe Subscribe

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