Version Change Log
There is only one change between version 4.1.3 and version 4.1.4. Version 4.1.4 adds the possibility of reading out untriggered telescopes by setting a new flag in the trigger record in the configuration file. You'll see this in one of the version 4.1.4 example veritas configuration files.
There are two major changes for version 4.1.3. First, the vbf writer is now compatible with vegas so that grisudet will produce vbf files that the vegas code can read. Detailed documentation is in the detector.pilot file. As of this date, no one has independently tested the vbf writer with vegas; I'll remove this statement has soon as I have confirmation that the writer is indeed compatible with vegas.
There are two major additions in this version: We
added a vbf (VERITAS binary file) writer to grisudet with vbf
parameters given in the detector pilot file, and we added a dual gain
option to our fadc model with parameters given in the telescope
configuration file. The hi-lo gain option can be turned off so that the
output from grisudet is the same as in earlier version of GrISU.
You will not be able to use telescope configuration files from earlier
GrISU versions with those from this version as the fadc record now
contains the hi-lo gain parameters.
The new "V" record in the grisudet output file
contains the version number for grisudet. You can, for example, use
this to check if the hi/lo gain option is included or not (Important
since the hi/lo gain flag is not included in the R records for previous
versions of grisudet.
The new "H" record in the cherenkf7 output passes
the observatory height from cherenkf7 to grisudet.
There is a new "F" record in the grisudet output
that produces the input to the fadc in millivolts immediately following
each "R" record. The F record is useful for investigating the
fadc pulse shape and is turned on and off by the FRECP flag in the
detector pilot file (see
detector.pilot.documentation file in GrISU directory).
There is a new GrISU/Utilities/Diagnostics
directory. The vg_history2tree.cpp code in this directory moves
the output from the photon_history file (see the DEBUG option in
detector.pilot) into a root tree. This tree is very useful in tracing
the results of all stages of the ray-tracing routines in optics.h for
every photon striking the ground, either from cherenkf7 .cph files or
from make_photon files (see GrISU/Simulation/Make_Photon
directory). Thus, point-spread functions are easy to plot from
this root tree. The same vg_history2tree.cpp
code moves the output of the photon_history file for laser photons
(also see GrISU/Simulation/Make_Photon
directory) into a root tree. Follow the Utilities link at the top
of this page for detailed specifications of the root tree branches or
see the readme in the Diagnostics directory.
MAJOR BUG FIX: The veritas array configuration
files in GrISU/Config/Files describe the mirror facet orientation. If
the orientation angle is 0 degrees, a point of the facet hexagon
"points" in the y-direction. This correctly describes the facet
orientation of the Whipple 10 meter telescope; however, for the veritas
array, a point of the facet hexagon should "point" along the x
axis. Thus, the orientation angle in the configuration file
should be set at 90 degrees. With this release, we have made this
change in the veritas configuration files. Using photons from the
"make_photons" code with the photon_history output written to a root
tree (see Utilities/Diagnostics directory for this code), we see that
the number of detected photons increased by 5 percent.
BUG FIX: The veritas configuration files in
GrISU/Config/Files contain the pixel locations with x and y camera
locations given in millimeters. Previous to this version, the y
position of the pixels had the incorrect sign so that data analysis was
incorrect unless the y position was inverted when reading the pixel
positions. With this version the y position is now correct so
that such inversion is no longer necessary.
Replaced Simulation/Shower/Kascade directory with latest version of
Sembroski/Kurtzman shower code. The input/output routines
and the atmosphere routines are now separated from the fortran shower
subroutines. Thus, the showers are produced from subroutine calls from
c++ code. From now on, we can update the easily update the
shower fortran code by simply moving the code from the KASCADE
repository to GrISU. There is an additional optional zenith angle
parameter in kascade.pilot; the shower zenith angle is randomly
selected between the cosine of the two zenith angles to generate a
shower database containing a range of zenith angles. If this
second cosine(zenith angle) is omitted, the code
generates showers with a fixed zenith angle. Using kascade requires a fortran 90 compiler. The kascade Makefile automatically searches for the INTEL fortran compiler. If it does not find this compiler, it will use the Absort version 10 compiler if the ABSOFTV10_FORTRAN environmental flag is set.
codes, kascade and cherenkf7, both use the atmospheric functions in
Simulation/Atmos. The default atmosphere is currently the Corsika
implementation of the U.S. Standard Atmosphere (see page 89 of the
Corsika User's Guide). The shower codes, kascade7 and kascade3,
continue only to use the Atmosphere68 functions; when using these
shower codes, you should set the functions in Simulation/Atmos to the
US68 atmosphere (just copy "Makefile_US68" to "Makefile").
output of the detector code, grisudet.c, has new "L" records following
the "S" record. Each "L" line gives the telescope number and the x- and
y-direction cosines for the telescope tracking. These direction
cosines are determined from the primary direction and the individual
telescope pointing offsets contained in the configuration file.
output of cherenkf7 has a new output record at the head of the file
giving the observatory altitude in meters; the record is " H
<observatory altitude meters>". The grisudet code will read this
and pass it to the forthcoming vbf writer.
We have added a vbf input option to analysis.c and are in the process of making additional changes; as usual this code is a work in progress. We will continue to support analysis.c as it is a useful development tool (fast compilation and execute time).
all particles downgoing from zenith. When using kascade with
cherenkf.c, do not use a depth of the first interaction less than 1.1
gm/cm2 (see kascade.pilot). Added important comments regarding
peds/pedvars to detector.pilot and to the veritas and whipple example
configuration files. Numerous improvements to analysis.c; see
analysis.pilot comments for details. Added GrISU/Utilities/Datahandler
for code to create a root tree from the .rcs analysis.c output
file. We will continue to support analysis.c as it is a useful
tool (fast compilation and execute time).
This version contains important changes to grisudet (the detector code). With the addition of a grid search method, execution time is now from 6 to 7 times faster than in previous versions. Compilation is now possible with the gcc/g++ optimization options (after replacing the deprecated fgets function with getline). There are options for circular, hexagonal, or square facets or pixels (actually, any regular polygon is possible). And, grisudet now accepts cherenkf7 output into standard input. These changes are documented in detector.pilot, the configuration files, and in the grisudet html documentation (follow the links from here).
There are additions in the facet and pixel records in the configuration file for pixel shape and facet/pixel rotation angle. If you wish to add these to an older configuration file, you will find a handy edit_config.cpp code in the Config/Files directory. Just look at the code and follow instructions (the code inserts a column in configuration file flag records)
Kascade (Glenn and Mary's latest version) now works properly for gamma showers from zenith. We encourage everyone to use this version of kascade (it requires the absoft or Intel compiler - follow the kascade links to find instructions for installing the free Intel fortran compiler).
We continue to include analysis.c, primarily for use with single telescope Whipple data. The analysis routines for telescope arrays are not fully functional nor are they fully documented and we anticipate moving to other code for this analysis (such as the analysis package supported by the Leeds group or the Veritas standard analysis package currently under development).
DO NOT MIX
CONFIGURATION FILES BETWEEN THIS VERSION AND EARLIER
VERSIONS. This version, grisu_version 4.1.0, contains these important
revisions for grisudet.c, the detector code. By using a grid search
method for facet and pixel searches, the code now executes about a
factor of 6 times faster than previous versions; the new GRIDF and
GRIDP flag lines in detector.pilot give the number of grid bins for
this option. By replacing the deprecated fgets function with the
getline function, optimization compiler options are now possible (the
-O1 option works best). By using a general polygon test function,
circular, hexagonal, and square facet and pixel options are now
included (any regular polygon is possible). And grisudet now accepts
standard input from cherenkf7 if detector.pilot contains no CHERP flag.
See detector.pilot, the configuration files, and the html documentation
for more details for these changes. Kascade (Glenn and Mary's latest
version) now works properly for gamma showers from zenith. We encourage
everyone to use this version of kascade (it requires the absoft or free
Intel compiler - follow the kascade links to find instructions for
installing the free Intel compiler.
DO NOT MIX FILES BETWEEN THIS VERSION AND EARLIER VERSIONS.
This version, grisu_version 4.0.0, is a major revision, especially for the kascade and grisudet codes.
Changes include: all standard math function calls using float versions (through gtmath.h) to avoid type conversions from double to float. Added new kascade version from Sembroski and Kertzman. Each kascade version has a separate directory above GrISU/Simulation/Shower. Kascade makefiles use the Intel Fortran compiler (kascade3 and kascade7 are still included and compile as before with g77). Added new atmospheric model directory, GrISU/Simulation/Atmos. Adapted kascade.pilot to direct any of the three kascade versions. Added pattern trigger option to grisudet; input details are in the array configuration file. Please review the kascade section of the documentation package before producing showers. Cherenkf7 now has a lateral distribution option in the pilot file; also atmospheric extinction can be toggled from the cherenkf.pilot file.
DO NOT MIX FILES BETWEEN THIS VERSION AND EARLIER VERSIONS.
This version, grisu_version 3.0.0, is a major revision, especially for the grisudet and analysis codes. With this version, we also begin a more standard version naming scheme. Changes include:
Default pilot filenames are now: kascade.pilot, cherenkov.pilot, detector.pilot, analysis.pilot, cutspec.pilot and runsim.pilot
Added new directory, GrISU/Raw2GrISU. containing c++ code to read VERITAS prototype data.
The QADC input impedance is now given in the array configuration file rather than hidden in the code.
Added option for output of pixel and time photoelectron records for compatibility with veritas simulation database.
Moved option choice for output of number of photoelectrons in each pixel from the configuration file to the detector.pilot.
Replaced the Make_a_Star directory with the Make_Photons directory for new make_photons.c code, for producing "star" photons on the ground or "laser" photons directly on the camera.
Telescope numbering in output of cherenkf7.c now starts with 1 instead of 0.
Complete rewrite of analysis.c: see the analysis.c documentation for details as there are many changes, including use of timing and gain files and various options for the FADC summing.
In the previous versions, the Cherenkov pulse widths were too large at low elevation. We increased the precision of the segment locations in the output of kascade to fix this problem.
Local trigger model bug eliminated; the local trigger multiplicity parameter in the configuration file now gives the correct number of pixels required for a telescope triggger. Previously, the parameter, e.g. if set to 2, produced a telescope trigger when this parameter + 1, e.g. 2+1 = 3, pixels triggered. In analysis.c, the three pixels with the largest number of photoelectrons are now determined from the cleaned group of pixels rather than all pixels prior to cleaning.
Various improvements implemented, especially we now have better memory management; in grisudet, photons are
now stored in a linked list. The mirror reflectivity is now given in a table as a function of wavelength in the configuration file. An interpolation returns the mirror reflectivity for a given wavelength.
The analysis program was misbehaving when the "N"-type records giving the number of photoelectrons were in the input file. We fixed this.
We removed all the numerical recipes procedures (they are not currently used anyway) to avoid copyrights problems.
The following versions are no longer available
Major changes in these older versions:
Segmentation fault occured when a logbook was not required; has been fixed
Telescope identifier in Cherenk output is now a positive number rather than a negative number.
Added field in the QADC record to activate an output giving the total number of Cherenkov photons on each tube.