10.42 HISTOGRAM—Request for histograms of particle coordinates to be output to SDDS file.

Request for histograms of particle coordinates to be output to SDDS file.
Parallel capable? : yes
GPU capable? : no
Back-tracking capable? : yes






Parameter Name UnitsType Default

Description






FILENAME STRING

filename for histogram output, possibly incomplete (see below)






INTERVAL long 1

interval in passes between output






START_PASS long 0

starting pass for output






BINS long 50

number of bins






FIXED_BIN_SIZE short 0

if nonzero, bin size is fixed after the first histogram is made






X_DATA short 1

histogram x and x’?






Y_DATA short 1

histogram y and y’?






LONGIT_DATA short 1

histogram t and p?






BIN_SIZE_FACTOR double 1

multiply computed bin size by this factor before histogramming






NORMALIZE short 1

normalize histogram with bin size and number of particles?






DISABLE short 0

If nonzero, no output will be generated.






SPARSE short 0

If nonzero, only bins with non-zero counts will be output.






START_PID long -1

starting particleID for particles to include






END_PID long -1

ending particleID for particles to include






BUNCH_SERIES short 0

If nonzero, successive instances of the same HISTOGRAM element are assigned to successive bunches. Overrides START_PID and END_PID values.






GROUP string NULL

Optionally used to assign an element to a group, with a user-defined name. Group names will appear in the parameter output file in the column ElementGroup






The output filename may be an incomplete filename. In the case of the HISTOGRAM element, this means it may contain one instance of the string format specification “%s” and one occurence of an integer format specification (e.g., “%ld”). elegant will replace the format with the rootname (see run_setup) and the latter with the element’s occurrence number. For example, suppose you had a repetitive lattice defined as follows:

H1: HISTOGRAM,FILENAME=’’%s-%03ld.h1’’  
Q1: QUAD,L=0.1,K1=1  
D: DRIFT,L=1  
Q2: QUAD,L=0.1,K1=-1  
CELL: LINE=(H1,Q1,D,2*Q2,D,Q1)  
BL: LINE=(100*CELL)

The element H1 appears 100 times. Each instance will result in a new file being produced. Successive instances have names like “rootname-001.h1”, “rootname-002.h1”, “rootname-003.h1”, and so on up to “rootname-100.h1”. (If instead of “%03ld” you used “%ld”, the names would be “rootname-1.h1”, “rootname-2.h1”, etc. up to “rootname-100.h1”. This is generally not as convenient as the names don’t sort into occurrence order.)

The files can easily be plotted together, as in

% sddsplot -column=dt,dtFrequency *-???.h1 -separate

They may also be combined into a single file, as in

% sddscombine *-???.h1 all.h1

In passing, note that if H1 was defined as

H1: HISTOGRAM,FILENAME=’’%s.h1’’

or

H1: HISTOGRAM,FILENAME=’’output.h1’’

only a single file would be produced, containing output from the last instance only.

For multi-bunch simulation, a variant of this feature can be used to create multiple files, one for each bunch. For example,

H1: HISTOGRAM,FILENAME=’’%s-%03ld.h1’’,BUNCH_SERIES=1  
Q1: QUAD,L=0.1,K1=1  
D: DRIFT,L=1  
Q2: QUAD,L=0.1,K1=-1  
CELL: LINE=(Q1,D,2*Q2,D,Q1)  
BL: LINE=(100*CELL,48*H1)

would result in the creation of 48 files, one for each of 48 bunches. If more than 48 bunches are present, they won’t be recorded. If fewer are present, the excess files will be empty.

HKICK