Message: Faster Than Light Photons? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Faster Than Light Photons? 

Forum: Processes Involving Optical Photons
Date: 11 Jul, 2012
From: Joel Long <Joel Long>

Hello everyone,

I have been working on modeling a scintillator, based on the physics in the LXR example. I have everything running fine, except that roughly once in 50 events, I get the following error:

*begin output snippet*

  G4ParticleChange::CheckIt    : the velocity is greater than c_light  !!
  Velocity:  2.3011
 G4ParticleChange::CheckIt 
      -----------------------------------------------
        G4ParticleChange Information  
      -----------------------------------------------
        # of 2ndaries       :                    0
      -----------------------------------------------
        Energy Deposit (MeV):                    0
        Non-ionizing Energy Deposit (MeV):                    0
        Track Status        :                Alive
        True Path Length (mm) :                 1.03
        Stepping Control      :                    0
    Last Step In the voulme  : 
        Mass (GeV)   :                    0
        Charge (eplus)   :                    0
        MagneticMoment   :                    0
                :  =                    0*[e hbar]/[2 m]
        Position - x (mm)   :                -43.4
        Position - y (mm)   :                -43.6
        Position - z (mm)   :                -43.2
        Time (ns)           :              0.00541
        Proper Time (ns)    :                    0
        Momentum Direct - x :                0.246
        Momentum Direct - y :                0.351
        Momentum Direct - z :               -0.904
        Kinetic Energy (MeV):             3.26e-06
        Velocity  (/c):                  2.3
        Polarization - x    :                0.876
        Polarization - y    :                -0.48
        Polarization - z    :               0.0523

-------- EEEE ------- G4Exception-START -------- EEEE -------
*** G4Exception : TRACK003
      issued by : G4ParticleChange::CheckIt
momentum, energy, and/or time was illegal
*** Event Must Be Aborted ***
-------- EEEE -------- G4Exception-END --------- EEEE -------

*end output snippet*

The particle in question is an optical photon. Note that most optical photons appear to behaving quite normally; however, I can find no consistency as to what volume the photon is in when this error occurs.

Here is the code snippet where my optical physics are configured:

*begin code snippet*

G4VModularPhysicsList* physicsList = new G4VModularPhysicsList();
  physicsList->SetDefaultCutValue(0.1*mm);
  physicsList->RegisterPhysics(new G4IonPhysics());
  physicsList->RegisterPhysics(new HadronPhysicsLHEP_CustomHP());
  physicsList->RegisterPhysics(new G4EmStandardPhysics_option3_withDecay(0));
  G4OpticalPhysics* optPhys = new G4OpticalPhysics();
  physicsList->RegisterPhysics(optPhys);
  //optPhys->SetProcessVerbose(G4OpticalProcessIndex::kScintillation,1);
  //optPhys->SetProcessVerbose(G4OpticalProcessIndex::kAbsorption,1);
  //optPhys->SetProcessVerbose(G4OpticalProcessIndex::kBoundary,1);
  optPhys->SetTrackSecondariesFirst(kScintillation,true);
  optPhys->SetScintillationYieldFactor(1.0);
  optPhys->SetMaxNumPhotonsPerStep(1000);
  optPhys->SetScintillationByParticleType(false);
  physicsList->SetDefaultCutValue(1.0*mm);
  physicsList->SetCuts();
  //physicsList->SetVerboseLevel(4);
  runManager->SetUserInitialization(physicsList);

*end code snippet*

And here is how I configure my the G4MaterialPropertiesTable objects for my various materials:

*begin code snippet*

//BC404 Optical Properties
	propTableBC404 = new G4MaterialPropertiesTable();
	propTableBC404->AddConstProperty("SCINTILLATIONYIELD",13600.0/MeV);
	propTableBC404->AddConstProperty("FASTTIMECONSTANT",1.8*ns);
	propTableBC404->AddConstProperty("RESOLUTIONSCALE",1.0);

	const G4int numEntries = 142;
	G4double energies[numEntries] = {3.260171434*eV,3.255293743*eV,3.249954874*eV,3.243431335*eV,3.239444329*eV,3.235462912*eV,3.231862316*eV,3.225878086*eV,3.222524526*eV,3.219181207*eV,3.217508749*eV,3.21323602*eV,3.205399727*eV,3.204020003*eV,3.202552424*eV,3.196909252*eV,3.199799806*eV,3.195495232*eV,3.19219708*eV,3.188450188*eV,3.184223021*eV,3.179543722*eV,3.175806935*eV,3.174388973*eV,3.170228214*eV,3.170208662*eV,3.16461548*eV,3.164638129*eV,3.159039086*eV,3.155533845*eV,3.15555709*eV,3.15275555*eV,3.142898895*eV,3.145860051*eV,3.146104097*eV,3.138796265*eV,3.136971018*eV,3.13458008*eV,3.1321935*eV,3.128803251*eV,3.127425516*eV,3.122700482*eV,3.123386406*eV,3.118660788*eV,3.11396501*eV,3.110628205*eV,3.109494952*eV,3.105473853*eV,3.097966805*eV,3.094000587*eV,3.086763613*eV,3.082179731*eV,3.078257495*eV,3.06529142*eV,3.051821124*eV,3.042929924*eV,3.039142373*eV,3.035996189*eV,3.033486076*eV,3.028888943*eV,3.027227579*eV,3.02598726*eV,3.018123108*eV,3.014828849*eV,3.011963957*eV,3.012361546*eV,3.00990753*eV,3.007946138*eV,3.006226742*eV,3.00623861*eV,3.006253114*eV,3.003190414*eV,3.001371559*eV,2.99708042*eV,2.99709772*eV,2.993429611*eV,2.988580458*eV,2.98493309*eV,2.980072205*eV,2.977046498*eV,2.972218584*eV,2.965794003*eV,2.960187483*eV,2.955995156*eV,2.950631361*eV,2.944090558*eV,2.939952077*eV,2.923483921*eV,2.889650517*eV,2.883852785*eV,2.878545265*eV,2.871756366*eV,2.864249496*eV,2.858273391*eV,2.85158623*eV,2.844046139*eV,2.837202819*eV,2.830613247*eV,2.825142152*eV,2.819340329*eV,2.814817765*eV,2.803919228*eV,2.799192637*eV,2.793851706*eV,2.789054622*eV,2.782157627*eV,2.775292037*eV,2.770062549*eV,2.769159161*eV,2.763761405*eV,2.764268775*eV,2.758709224*eV,2.736729728*eV,2.728141585*eV,2.722852296*eV,2.715715529*eV,2.703900493*eV,2.691935468*eV,2.682536558*eV,2.678105792*eV,2.671245978*eV,2.663060655*eV,2.650871681*eV,2.640321474*eV,2.636030474*eV,2.628431833*eV,2.623232386*eV,2.61243234*eV,2.603576622*eV,2.586954798*eV,2.57281263*eV,2.567376678*eV,2.561070871*eV,2.555692365*eV,2.550327809*eV,2.544986986*eV,2.539667231*eV,2.534375293*eV,2.531296397*eV,2.519057422*eV,2.490239936*eV,2.485994597*eV};
	G4double yieldSpectrum[numEntries] = {0.000615546,0.000848708,0.001016584,0.001178632,0.001398969,0.001657779,0.001797675,0.002040163,0.002287315,0.002504155,0.002644052,0.002818923,0.003441464,0.003172163,0.003735248,0.003982399,0.00318965,0.004103643,0.004420743,0.004650174,0.005120227,0.00560054,0.006015568,0.00635132,0.006542513,0.006729042,0.007582413,0.007365573,0.008463764,0.009303145,0.00907931,0.009778795,0.01091196,0.010688125,0.010515585,0.011336314,0.01157647,0.011877249,0.012171032,0.012464816,0.012814558,0.01317829,0.013010414,0.013500053,0.013835806,0.013989692,0.014264823,0.014740473,0.015038919,0.015262754,0.015591512,0.01576172,0.015948249,0.016200064,0.016186074,0.01593426,0.015752394,0.015570528,0.015402651,0.015157832,0.01499695,0.014829074,0.014106273,0.013751868,0.013318187,0.013500053,0.013150311,0.012881709,0.012702641,0.012576733,0.012422847,0.012073105,0.011695383,0.011408594,0.01122393,0.010974914,0.010345378,0.01009706,0.009890713,0.009715064,0.009429053,0.009174907,0.009037341,0.00894874,0.008736563,0.008603661,0.008421795,0.008030083,0.007386558,0.007246661,0.007181375,0.007022826,0.006859613,0.006715052,0.006479093,0.006200232,0.005984091,0.005754427,0.00560054,0.005306757,0.005155202,0.00473691,0.004616598,0.004346131,0.004196908,0.003942762,0.003721258,0.003191981,0.003525402,0.003205971,0.003413485,0.003180323,0.002652446,0.002479673,0.002369854,0.002199879,0.001958557,0.001768297,0.001636794,0.001594825,0.001482907,0.001345808,0.001203114,0.001077206,0.001014253,0.000965289,0.000941973,0.000818397,0.000727464,0.000643526,0.000543266,0.00054793,0.000448447,0.000335753,0.000349742,0.000345079,0.000359069,0.00028912,0.000279794,0.000209845,0.000139897,0.000139897};

	const G4int pseudoConstantEntries = 2;
	G4double energies2[pseudoConstantEntries] = {3.260171434*eV,2.485994597*eV};
	G4double refractiveIndex[pseudoConstantEntries] = {1.58,1.58};
	G4double absorptionIndex[pseudoConstantEntries] = {140*cm,140*cm};

	propTableBC404->AddProperty("FASTCOMPONENT",energies,yieldSpectrum,numEntries);
	propTableBC404->AddProperty("RINDEX",energies2,refractiveIndex,pseudoConstantEntries);
	propTableBC404->AddProperty("ABSLENGTH",energies2,absorptionIndex,pseudoConstantEntries);

	BC404->SetMaterialPropertiesTable(propTableBC404);

//Aluminum Optical Properties
	propTableAluminizedMylar = new G4MaterialPropertiesTable();

	const G4int numEntriesAlMy = 5;
	G4double energiesAlMy[numEntriesAlMy] = {2.400309717*eV,2.600289387*eV,2.800361337*eV,3.000387147*eV,3.400427796*eV};
	G4double refractiveIndexAlMy[numEntriesAlMy] = {0.8734,0.7278,0.6079,0.52135,0.39877};
	G4double absorptionIndexAlMy[numEntriesAlMy] = {1.0/0.024325146*nm,1.0/0.026351774*nm,1.0/0.028379337*nm,1.0/0.030406433*nm,1.0/0.034460513*nm};

	propTableAluminizedMylar->AddProperty("RINDEX",energiesAlMy,refractiveIndexAlMy,numEntriesAlMy);
	propTableAluminizedMylar->AddProperty("ABSLENGTH",energiesAlMy,absorptionIndexAlMy,numEntriesAlMy);

	AluminizedMylar->SetMaterialPropertiesTable(propTableAluminizedMylar);

//UVLucite
	propTableUVLucite = new G4MaterialPropertiesTable();

	const G4int numEntriesLuc = 77;
	G4double energiesLuc[numEntriesLuc] = {2.818434004*eV,2.809634255*eV,2.802135231*eV,2.792198582*eV,2.779876434*eV,2.770096746*eV,2.754350678*eV,2.739973902*eV,2.731656548*eV,2.723389537*eV,2.702359502*eV,2.661258978*eV,2.625760734*eV,2.594398682*eV,2.576359918*eV,2.532850824*eV,2.51968*eV,2.500674871*eV,2.484891519*eV,2.447241647*eV,2.430246914*eV,2.40795107*eV,2.39695586*eV,2.358367653*eV,2.350447761*eV,2.321857722*eV,2.293954843*eV,2.281492213*eV,2.268347137*eV,2.229016277*eV,2.215687654*eV,2.178749308*eV,2.172137931*eV,2.149897611*eV,2.125236167*eV,2.10464417*eV,2.084447386*eV,2.079630241*eV,2.06395806*eV,2.05386371*eV,2.037916532*eV,2.028074694*eV,2.017034902*eV,2.001016518*eV,1.990268562*eV,1.96481597*eV,1.956273292*eV,1.946600742*eV,1.935832821*eV,1.926360856*eV,1.918148599*eV,1.908270221*eV,1.897921061*eV,1.888815592*eV,1.880919678*eV,1.871420083*eV,1.862015962*eV,1.853796351*eV,1.845108377*eV,1.836501458*eV,1.826914153*eV,1.818475751*eV,1.81063524*eV,1.805963303*eV,1.798230088*eV,1.793621868*eV,1.786500284*eV,1.776925247*eV,1.771428571*eV,1.764976184*eV,1.760536613*eV,1.754163186*eV,1.745414242*eV,1.736752137*eV,1.732453245*eV,1.726281173*eV,1.718744884*eV};
	G4double refractiveIndexLuc[numEntriesLuc] = {1.501845426,1.501582545,1.501331931,1.501077813,1.500830705,1.500570978,1.500197161,1.500015773,1.499831756,1.499621451,1.499305994,1.498659306,1.498201893,1.497781283,1.497481598,1.497078076,1.496971609,1.496671924,1.496535226,1.496053628,1.495943218,1.495662461,1.49555205,1.494981598,1.494936909,1.494526814,1.49413775,1.493966877,1.493801262,1.49311041,1.493008675,1.492429022,1.492386961,1.491981073,1.49159306,1.491257886,1.49089511,1.490867508,1.490574132,1.490457413,1.490252366,1.490042061,1.489847529,1.489548896,1.48944795,1.488940063,1.488817035,1.488722397,1.488527865,1.488416404,1.488315457,1.488213722,1.488028391,1.487912723,1.4878102,1.487691903,1.487523659,1.487410095,1.487302839,1.487181914,1.487003155,1.486892744,1.486784963,1.486782334,1.486674553,1.486671924,1.486498423,1.48639327,1.486356467,1.486277603,1.486277603,1.486175079,1.485993691,1.485883281,1.485878023,1.485776814,1.485662461};
	G4double absorptionIndexLuc[numEntriesLuc] = {1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m,1000*m};

	propTableUVLucite->AddProperty("RINDEX",energiesLuc,refractiveIndexLuc,numEntriesLuc);
	propTableUVLucite->AddProperty("ABSLENGTH",energiesLuc,absorptionIndexLuc,numEntriesLuc);

	UVLucite->SetMaterialPropertiesTable(propTableUVLucite);

//Air
	propTableAir = new G4MaterialPropertiesTable();

	const G4int numEntriesAir = 2;
	G4double energiesAir[numEntriesAir] = {2.82*eV,1.71*eV};
	G4double refractiveIndexAir[numEntriesAir] = {1.0,1.0};
	G4double absorptionIndexAir[numEntriesAir] = {1000*m,1000*m};

	propTableAir->AddProperty("RINDEX",energiesAir,refractiveIndexAir,numEntriesAir);
	propTableAir->AddProperty("ABSLENGTH",energiesAir,absorptionIndexAir,numEntriesAir);

	air->SetMaterialPropertiesTable(propTableAir);

*end code snippet*

I am running Geant4.9.5p01, on mac OSX Lion, built using cmake 2.8-8 with the current version of the apple implementation of GNU make and gcc.

Has anyone else run into this problem? My best guess at this point is that it is some kind of issue between optical photons and geometric boundaries, but that's just a guess; I haven't been able to verify it.

The only other relevant information I can think of is that while all of my volumes are G4PVPlacements, several of them use the same G4LogicalVolume. Based on the applications developers guide, I thought that should work; am I incorrect?

Thanks to everyone in advance for their help.

Sincerely, Joel Long

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

1 More: Re: Faster Than Light Photons?   (Joel Long - 11 Jul, 2012)
(_ More: Re: Faster Than Light Photons?   (Joel Long - 13 Jul, 2012)
(_ Feedback: Re: Faster Than Light Photons?   (Gumplinger Peter - 13 Jul, 2012)
(_ Feedback: Re: Faster Than Light Photons?   (Joel Long - 16 Jul, 2012)
(_ Feedback: Re: Faster Than Light Photons?   (Gumplinger Peter - 16 Jul, 2012)
(_ Idea: Re: Faster Than Light Photons?   (Erik Dietz-Laursonn - 14 Sep, 2012)
 Add Message Add Message
to: "Faster Than Light Photons?"

 Subscribe Subscribe

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