summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-09add ability to toggle between viewing initial and final photon positions. ↵Anthony LaTorre
try to use Image module to save screenshot if pygame screenshot doesn't work.
2021-05-09oops. fix interpolation for a uniformly sampled functionAnthony LaTorre
2021-05-09add gpu interpolation functions. fix sample_cdf functions which were ↵Anthony LaTorre
interpolating on the wrong side of the interval between two points.
2021-05-09add abs() function for float3sAnthony LaTorre
2021-05-09set default max_steps to 100. this seems like a reasonable number.Anthony LaTorre
2021-05-09add __getitem__ to Photon classAnthony LaTorre
2021-05-09rotate() does not need to create a matrix. update test. remove superflous ↵Anthony LaTorre
function in last commit.
2021-05-09add norm() function to get the length of vectors and shorten normalize() ↵Anthony LaTorre
function.
2021-05-09add get_perp() to return an arbitrary perpendicular vector and a new ↵Anthony LaTorre
rotate() function which is faster and can handle different angles for each vector.
2021-05-09add get_bounds() method to BVHLayerSlice so that you can now view your bvh's ↵Anthony LaTorre
by pressing page up/page down again
2021-05-09add documenation for red hat enterprise 6 installAnthony LaTorre
2021-05-09positions returned by from_film() should be located at the focal point, not ↵Anthony LaTorre
the actual pixel locations
2021-05-09Use a wider range of standard wavelengths to accomodate UV photons, like in ↵Stan Seibert
liquid argon.
2021-05-09Remove some placeholder DAQ properties.Stan Seibert
2021-05-09Set an arbitrary time PDF for a Detector.Stan Seibert
2021-05-09Switch from hsv to jet_r color map because hsv has red at both ends, andStan Seibert
that is kind of confusion. jet_r starts from red and goes to blue.
2021-05-09Make the photon reduction used in the event display mode dynamicallyStan Seibert
calculated to give about 10,000 initial photon vertices in the event. This is required to deal with events with very large numbers of photons, like scintillation events.
2021-05-09Add a Photons.reduced() method that returns a new Photons object withStan Seibert
a random subset of photons based on the reduction_factor given.
2021-05-09Minor change to allow eval_pdf to take a generator that emitsStan Seibert
chroma.event.Photons objects to compute PDF values rather than a generator of Event objects.
2021-05-09Put triangles and vertices back onto the GPU if there is sufficient room.Stan Seibert
This is an optimization that is helpful for smaller detectors, even if giant water Cherenkov detectors cannot take advantage of it. Modified Mapped() helper function to pass through GPU arrays, which makes it much easier to flip between arrays on the CPU and the GPU.
2021-05-09Diffuse reflection is lambertian, not isotropic.Stan Seibert
2021-05-09Add a function to create a Mesh from the coordinates for a convex polygon.Stan Seibert
2021-05-09Add the reemission probability and CDF arrays on the GPU to the ↵Stan Seibert
material_data list to prevent them from being garbage collected.
2021-05-09Photons tagged with NAN_ABORT should not continue to be propagated.Stan Seibert
2021-05-09Change surface re-emission simulation to not use the diffuseStan Seibert
reflection function. This allows the photon to reemit on either side of the surface and also removes a spurious diffuse reflection bit in the history.
2021-05-09Update photon history bits in Python to match C header.Stan Seibert
2021-05-09Add the ability to linear_extrude a mesh without the endcaps.Stan Seibert
2021-05-09Refactor the saving and loading of packed BVH nodes to fully abstractStan Seibert
away the split storage. Also fixes a bug discovered by Mike Jewell that crashed BVH creation after the last commit.
2021-05-09GPU geometry modification to permit the BVH node storage to be splitStan Seibert
between GPU and CPU. This allows much more complex geometries to be run on CUDA devices with less memory. The GPUGeometry object now takes a min_free_gpu_mem parameter giving the minimum number of bytes that can be free on the GPU after the BVH is loaded. By default, this number is 300 MB. Cards with sufficient memory will have the entire BVH on card, but those without enough memory will have the BVH split such that the top of the hierarchy (the most frequently traversed) is on the GPU.
2021-05-09add method to weld together solids at shared trianglesAndy Mastbaum
'weld' a solid onto another one at identical shared triangles. optionally apply a ``Surface`` or color to the shared surface. this isn't a boolean solid operation -- the triangles must be identical in the two meshes.
2021-05-09make bulk reemission isotropicAndy Mastbaum
2021-05-09more unit test fixesAndy Mastbaum
update remaining unit tests to build BVHs with ``loader.create_geometry_from_obj`` instead of the (removed) ``build`` method.
2021-05-09update unit test bvh buildingAndy Mastbaum
2021-05-09add simple bulk reemissionAndy Mastbaum
The ``Material`` struct now includes two new arrays: ``reemission_prob`` and ``reemission_cdf``. The former is sampled only when a photon is absorbed, and should be normalized accordingly. The latter defines the distribution from which the reemitted photon wavelength is drawn. This process changes the photon wavelength in place, and is not capable of producing multiple secondaries. It also does not enforce energy conservation; the reemission spectrum is not itself wavelength-dependent.
2021-05-09simplify surface modelsAndy Mastbaum
remove the ``SURFACE_SPECULAR`` and ``SURFACE_DIFFUSE`` models, since their functionality is available using the more-general ``SURFACE_DEFAULT``. also allow the user to specify the reflection type (specular/diffuse) for the complex and wls models. change wls so the normalization of properties is more consistent with the default.
2021-05-09update docs per 2c200fc928a0Andy Mastbaum
2021-05-09fixes and tweaks for surface modelsAndy Mastbaum
All surface models including ``SURFACE_COMPLEX`` and ``SURFACE_WLS`` are now working. Note that the WLS won't work right in hybrid rendering mode since that mode relies on matching up incoming and outgoing photon wavelengths in a lookup table.
2021-05-09update python-side gpu structs to reflect cuda changesAndy Mastbaum
this fixes hybrid rendering mode
2021-05-09add surface model documentationAndy Mastbaum
2021-05-09generalize surface models and add thin film modelAndy Mastbaum
reduce models to the following: SURFACE_DEFAULT, // specular + diffuse + absorption + detection SURFACE_SPECULAR, // perfect specular reflector SURFACE_DIFFUSE, // perfect diffuse reflector SURFACE_COMPLEX, // use complex index of refraction SURFACE_WLS // wavelength-shifting reemission where SURFACE_COMPLEX uses the complex index of refraction (`eta' and `k') to compute reflection, absorption, and transmission. this model comes from the sno+ rat pmt optical model.
2021-05-09towards a more flexible surface modelAndy Mastbaum
surfaces now have an associated model which defines how photons are propagated. currently, these include specular, diffuse, mirror, photocathode (not implemented), and tpb. the default is the old behavior, where surfaces do some weighted combination of detection, absorption, and specular and diffuse reflection. `struct Surface` contains as members the superset of all model parameters; not all are used by all models. documentation (forthcoming) will make clear what each model looks at.
2021-05-09If (0,0,0) passed in for direction vector, constant_particle_gun will pick ↵Stan Seibert
isotropically distributed directions.
2021-05-09Raise an exception if a zero 3-vector is passed to make_rotation_matrix()Stan Seibert
2021-05-09Fix starting point of SNO PMT profile to be on axisStan Seibert
2021-05-09Fixes to chroma-setup script.Stan Seibert
2021-05-09Add CUDA driver install directions and add matplotlib dependencyStan Seibert
2021-05-09Fix imports for chroma-camStan Seibert
2021-05-09Update installation instructions for CUDA 4.1 and GEANT4.9.5.Stan Seibert
2021-05-09Shell script from Andy Mastbaum that compiles all of Chroma's dependenciesStan Seibert
along with Chroma on an Ubuntu 11.04 system.
2021-05-09Silence more GEANT4 output when starting GEANT4 generator processes.Stan Seibert