summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-08-19Rename test scripts so nose will find them.Stan Seibert
2011-08-19mergeAnthony LaTorre
2011-08-19add benchmarks for ray intersection and photon propagationAnthony LaTorre
2011-08-18mergeStan Seibert
2011-08-18Actually pass the max_steps variable in sim.propagate_photons to theStan Seibert
GPU class.
2011-08-18Unit test to verify that photons at normal incidence do not abort.Stan Seibert
2011-08-18Replace Rayleigh scattering implementation with that from SNOMAN. TheStan Seibert
angular distribution is slightly different, and now fits with the distribution given in the GEANT4 physics reference manual. Unit test is now included to verify the correctness of the scattering.
2011-08-18Could have run off the end of the array by 1 because the queue counter ↵Stan Seibert
points to the next available photon slot.
2011-08-18Fix bug that caused photons to NAN_ABORT if they hit a triangleStan Seibert
at exactly normal incidence. The plane of incidence was undefined in that case, but should have been the plane normal to polarization vector.
2011-08-18mergeAnthony LaTorre
2011-08-18make default camera resolution widescreen. fix checkerboard scene.Anthony LaTorre
2011-08-17Start of MiniCLEAN geometry.Stan Seibert
2011-08-17add grouper function from the itertools exampleStan Seibert
2011-08-17event module is no longer part of generator packageStan Seibert
2011-08-17Add flag to Simulation() and Geometry.build() to ignore the BVH cache.Stan Seibert
2011-08-17Put the temporary ZeroMQ IPC socket file into /tmp directory.Stan Seibert
2011-08-17mergeStan Seibert
2011-08-17Switch to ZeroMQ for both directions of communication betweenStan Seibert
the GEANT4 processes. Also handle sending the initial particle vertices from a thread in the main process to avoid possible deadlocking if the vertex queues fill up.
2011-08-17Switch from multiprocessing.Queue to ZeroMQ push/pull socket for moving ↵Stan Seibert
photon information around. Improves LBNE performance from 1.4 to 2 Mphotons/sec.
2011-08-17move useful bits from view.py into camera.py and get rid of view.pyAnthony LaTorre
2011-08-17mergeAnthony LaTorre
2011-08-17import chroma modules from subpackages with import chroma.module_nameAnthony LaTorre
2011-08-16merge documentation changesStan Seibert
2011-08-16Remove some unused parts of generator/photon.pyStan Seibert
2011-08-16mergeAnthony LaTorre
2011-08-16update geometry.py() documentationAnthony LaTorre
2011-08-16Minor fixes to simulation. Default to 11 bit mode, fix print statement.Stan Seibert
2011-08-16Preheat GEANT4 process by running a short event at startupStan Seibert
2011-08-16Inexplicable syntax error sitting in our package __init__.pyStan Seibert
2011-08-16update documentation for tools.pyAnthony LaTorre
2011-08-16add document\ation to stl.py.Anthony LaTorre
2011-08-16cleanup and add documentation to pi0.pyAnthony LaTorre
2011-08-16mergeStan Seibert
2011-08-16Refactor sim.py into a reusable Simulation class that is called by theStan Seibert
main function(). Also cleanup more event data structure names and add an nphoton value that is preserved even if you prune off all the actual photon vertices.
2011-08-16mergeAnthony LaTorre
2011-08-16add linear_extrude() function to make.py. rotate_extrude() now takes the ↵Anthony LaTorre
number of rotational steps to extrude instead of the angle step size. updated documention in make.py.
2011-08-16Seed the numpy random number generator.Stan Seibert
2011-08-16Move general utility functions out of sim.py into tools.Stan Seibert
The enable_debug_on_crash() function sets the exception hook to start up PDB on uncaught exceptions The @profile_if_possible decorator applies the kernprof.py @profile decorator if available (because of profiling in progress), otherwise does nothing.
2011-08-16MergeStan Seibert
2011-08-16Epic restructuring of code to switch to a generator-based style ofStan Seibert
event creation. Now we have vertex generators (that produce initial particles), photon generators (that create photons to propagate), and a standard data structure using Python class containers and numpy arrays to hand around the code. Also cleaned up some naming of things before they become conventions.
2011-08-16Draw hits with charge rather than time.Stan Seibert
2011-08-15mergeAnthony LaTorre
2011-08-15woops. dot product should be clamped to [-1.0,1.0].Anthony LaTorre
2011-08-15special camera modeStan Seibert
2011-08-15fix nan bug by clamping dot() of surface normal and -photon direction to ↵Anthony LaTorre
[0.0,1.0]
2011-08-14Rewrite the color_solid function in gpu.GPU (and associated CUDA code)Stan Seibert
to make it 100x faster. Instead of having each CUDA thread loop over the full triangle list, we give each thread a single triangle and ask it to look up the hit status and color for that triangle. The hit array and color array are small enough (approx 30,000 entries) to fit into the cache, so this goes much faster. Now the event viewer is quite snappy!
2011-08-14Add a helper function to the ROOT Channel class that will populate 3Stan Seibert
arrays with hit information: hit or not, time and charge. Handy for fetching all the hits in an event into numpy arrays.
2011-08-14Oops, view.py is still in use.Stan Seibert
2011-08-13Remove unused render and view files. They have both been superceded by ↵Stan Seibert
camera.py.
2011-08-13A faulty optical process can make the position or direction of theStan Seibert
photon into NaN on the GPU. Now we abort these photons rather than let them lock up the intersect_mesh() method. There is a new history bit (#31) that indicates when a NAN_ABORT has occurred, and this bit is checked for by GPU.propagate(). If set for any of the photons, a warning message is printed. While not as good as preventing the NaN problem in the first place, this at least ensures we are aware of the problem.