Message: Faster Than Light Photons?  Not Logged In (login) 
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 Nonionizing 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.26e06 Velocity (/c): 2.3 Polarization  x : 0.876 Polarization  y : 0.48 Polarization  z : 0.0523
 EEEE  G4ExceptionSTART  EEEE  *** G4Exception : TRACK003 issued by : G4ParticleChange::CheckIt momentum, energy, and/or time was illegal *** Event Must Be Aborted ***  EEEE  G4ExceptionEND  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.88 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:  Outline Depth:  Add message: 
to: 