[Previous]
[Next]
PROJECT:
HESSI
NAME:
Data reader with caching
PURPOSE:
Provides a reader for a generic data type, as well as the
CATEGORY:
HESSI Utilities
CONSTRUCTION:
obj = Obj_New( 'HSI_FILECACHE' ) ;
The variable o is the object reference used to
access the packets.
INPUTS:
Provided by the "Set" accessor method:
obj->Set, KEYWORD=value
The list of available keywords can be obtained with
Help, obj->Get(), /STRUCTURE
For further information, see
http://hessi.ssl.berkeley.edu/software/reference.html#set
OUTPUTS:
Control parameters are retrieved with:
result = obj->Get( /KEYWORD1, /KEYWORD2, ... )
If a single keyword is passed, the variable "result"
contains the value of the coprresponding control parameter.
If several keywords are passed, then variable "result"
contains a structure that has a tag for each keyword.
For further information, see
http://hessi.ssl.berkeley.edu/software/reference.html#get
The actual data is accessed using the function method
"GetData":
result = obj->GetData()
The variable "result" contains the retrieved data. "GetData"
accepts a number of object-dependent selection parameters,
see the keywords below.
GENERIC METHODS:
Get
Set
GetData
Print
Plot
Write
OBJECT-SPECIFIC METHODS:
GetData: Has several behaviour depending on the keyword passed
- With no keywords, the corrent contents of the filecache
is retrieved
- With /ALL, all records in the file are retrieved
- With /THIS_INDEX: the specific indexed dara records
are retrieved.
- If a scalar, then only a single
record is retrievd
- if a 2d element vactro, then
all records in the range are
retrieved
- if a n-element vecor, then all
single recors are retrievd.
- With /NEXT_BUNCH: the filecache is loaded with the next
elements and those are returned.
KEYWORDS:
ALL
THIS_INDEX
EXAMPLE:
To read the packets 1000 to 9999 from the HESSI FILECACHE file
therm6a.dat:
obj = Obj_New( 'HSI_FILECACHE', FILENAME='therm6a.dat' )
packet = obj->GetData( PACKET_INDEX = IndGen( 9000 ) + 1000 )
To plot a "quick and dirty" lightcurve of the pac
packet->Plot, file='abc.fits', time_resolution=2.
CALLS: ***
EXIST, FILECACHE::GETDATA, FILECACHE::GET_RECORD_EDGES, FILECACHE::INCACHE
FILECACHE::INIT, FILECACHE::LOADCACHE, FILECACHE__DEFINE, HESSI_DATA_PATHS [1]
HESSI_DATA_PATHS [2], LOC_FILE [1], LOC_FILE [2], LOC_FILE [3], get_uniq
SEE ALSO:
http://hessi.ssl.berkeley.edu/software/reference.html
HESSI Utility Reference
HESSI telemetry formats http://hessi.ssl.berkeley.edu/internal/
HISTORY:
Release 4 development ACs March 2000: GetData has /all, /next,
Release 4 development ACs February 2000: filecache is now a separate object
Release 2 development, May 1999,
A Csillaghy, csillag@ssl.berkeley.edu
Based on: HSI_packet*.pro (Releases 0 and 1)
[Previous]
[Next]
PROJECT:
HESSI
NAME:
DATETIME OBJECT
PURPOSE:
This classes manages datetime objects. It provides any anytim
formats as well as a number of utilities to print, compare,
increment and round datetime valies
CATEGORY:
Object
CONSTRUCTION:
obj = Obj_New( 'datetime', value )
obj = datetime( value )
PARAMETER:
value: any date and time value, e.g. '2003/11/07 12:33:44'
METHODS:
obj->print -- prints the value
obj->set, value -- sets a new value
obj->get(/xxx ) -- get an anytim variable with the value of
the object
obj->round, /month -- rounds the value stored to the month,
e.g. '2003/11/07 12:34:44' gets '2003/11/01'
value = obj->round( /month, /obj_new ) -- returns the rounded
value but does not
change the contents
of obj. with
/obj_new, returns a
new datetime object
obj->increment, /month -- increments the date by a month
value=obj->increment( /month, /obj_new ) -- similar to obj->round()
yesno = obj->lessthan( other_datetime ) -- returns a boolean;
other_datetime can
be an anytim value or a
datetime object
yesno = obj->lessorequal( other_datetime ) -- returns a boolean
file_id = obj->file2index() -- returns a string that can be
used in file names
new_obj = obj->clone() -- returns a copy of the object
EXAMPLES:
o = datetime( '2003/01/07 12:34:56' )
o->print
o->print, /yoh
oo = o->clone()
print, o->lessthan( oo )
print, o->lessorequal( oo )
o->round
print, o->lessthan( oo )
CALLS: ***
DATETIME::CLONE, DATETIME::DIFF, DATETIME::GET, DATETIME::INCREMENT
DATETIME::INCREMENT, DATETIME::INIT, DATETIME::LESSOREQ, DATETIME::LESSTHAN
DATETIME::OBJ_OR_ANY, DATETIME::PRINT, DATETIME::ROUND, DATETIME::ROUND
DATETIME::SET, DATETIME::TIME2FILE, DATETIME__DEFINE, TIME2FILE, anytim [1]
anytim [2], anytim [3], anytim [4], anytim [5], datetime, ptim
SEE ALSO:
e.g. checking for invalid dates, i.e. 30-feb, some checks needed
HISTORY:
2003-10: first version on ssw, in fact it is useful, so i
reinserted it, acs
2003-09: created, tested, used in roll_db_sw then taken out
because it seemed to be just unuseful, acs
[Previous]
[Next]
PROJECT:
HESSI
NAME:
datetime
PURPOSE:
Creates a datetime object
CATEGORY:
gen/anytim (?)
CONSTRUCTION:
o = datetime( value )
INPUT:
value: an anytim date/time
KEYWORDS:
any keyword accepted by the set method of the datetime object
CALLS: ***
EXIST
CALLED BY:
DATETIME OBJECT, FITS READER CLASS, HESSI ROLL_DB CLASS DEFINITION
EXAMPLES:
o = datetime( '11-nov-2003' )
o->print
SEE ALSO
datetime__define
HISTORY:
Oct-2003: created csillag@ssl.berkeley.edu
[Previous]
[Next]
PROJECT:
HESSI
NAME:
DEMODULATOR_TEST
PURPOSE:
Interim shell procedure for using 'hsi_demodulator' algorithm to demodulate RHESSI light curves.
CATEGORY:
CALLING SEQUENCE:
DEMODULATOR_TEST, obs_time_interval, xyoffset, time_resolution, energy_band, $
SUBCOLL=subcoll, DIAGNOSTIC_MODE=diagnostic_mode, OUTPUT=output, PS=ps, $
PLOT_TYPE = plot_type
For example,
demodulator_test, '2002-apr-21 '+['02:10:00', '02:10:30'], [985,-268], 0.125, [12,25], OUTPUT=output, /PS, /DIAG
CALLS: ***
HSI_CALIB_EVENTLIST, MOMENT, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4]
UTPLOT [5], UTPLOT [6], hsi_demodulator [1], hsi_demodulator [2]
INPUTS:
obs_time_interval = 2-element string vector indicating time interval (eg '2002-apr-21 '+['02:40:00', '02:41:00'] )
xyoffset = 2-element vector defining the approximate location of source (arcsec W,N of sun center)
time_resolution = output time resolution [seconds] (For now, it should be in range ~0.05 to ~0.25 seconds.)
energy_band = 2-element vector giving the energy band(keV) (default = [12,25])
OPTIONAL INPUTS:
SUBCOLL = 9-element vector indicating which subcollimators to use. Default=[1,0,1, 1,1,1, 1,1,1] excludes D2.
PLOT_TYPE = 0 ==> no plotted output
= 1 ==> final plot has linear Y-axis
= 2 ==> final plot has logarithmic Y-axis
= 3 ==> 2 final plots are generated, with linear and log axes (default)
OUTPUTS:
Generates plot of demodulated light curve
OPTIONAL OUTPUTS:
/DIAGNOSTIC_MODE generates plots of interim results as well as printing helpful statistical data.
/PS writes plotted output as a postscript file, idl.ps instead of to screen.
output = structure containing the final demodulated light curve. Elements are:
OBS_TIME_INTERVAL = 2-element string array echoing input.
ENERGY_BAND = 2-element string array echoing input.
TIMEOUT = DOUBLE array of times of bin centers relative to obs_time_interval[0]
INTENSITY = DOUBLE array of intensities (incident counts/s/detector)
Note that there are no elements in timeout or intensity for missing points.
KEYWORDS:
none
COMMON BLOCKS:
none
SIDE EFFECTS:
none
RESTRICTIONS:
Requires at least 150 counts per output time interval (summed over detectors) to be useful.
For now, time_resolution should be limited to a value roughly between 0.05 and 0.25 s.
Error bars have not been generated yet.
Weighting factors are not yet optimized.
Does not yet have user-selectable detector selection.
Does not yet have automated and optimized selection of time bins.
MODIFICATION HISTORY:
8-Nov-03 gh Initial version (ghurford@ssl.berkeley.edu)
16-Dec-03 gh Added xyoffset, energy_range, diagnostic_mode as input parameters or keywords.
Added primitive output structure.
26-Dec-03 gh Plot individual detector rates.
Changed keyword name, 'energy_range' to 'energy_band' for compatibility.
25-Feb-04 gh Add energy and time range to output structure.
Make energy_band a parameter instead of a keyword.
17-Mar-04 gh Check that user hasn't forgotten some input arguments.
7-Apr-04 gh Adapt plot output to revised hsi_demodulator output structure.
8-Apr-04 gh Modify labelling to conform to corrected normalization
27-Oct-04 gh Add ssw wrapper.
Add SUBCOLL keyword
28-Oct-04 gh Add PLOT_TYPE keyword to support log-scaled plot of final output.
29-Oct-04 gh Minor changes to diagnostic plots
[Previous]
[Next]
Name: dummy
Purpose: force otherwise empty directory to be included in IDL path
CALLS:
[Previous]
[Next]
Name: dummy
Purpose: force otherwise empty directory to be included in IDL path
CALLS:
[Previous]
[Next]
Name: dummy
Purpose: force otherwise empty directory to be included in IDL path
CALLS:
[Previous]
[Next]
PROJECT:
HESSI
PROCEDURE:
HESSI_Telem_model
PURPOSE:
Reads the Model Counts from Richard Schwartz' Model of the HESSI reponse to
the March 1989 Flare period (March 1-28)
Outputs plots to the screen and IDL.PS
USAGE:
HESSI_TELEM_MODEL
INPUTS:
Model Counts files, etc.:
$SSW_HESSI_SIMS/hessi_telem_sim.sav
$SSW_HESSI_SIMS/counts_cutoff.sav
KEYWORDS:
CREATED BY: David Curtis 97-11-10
VERSION: 1.
LAST MODIFICATION: 09-11-13
VERSION: 2
Richard.schwartz@gsfc.nasa.gov, Changed name to HESSI_Telem_model from model
Code needs revision after installation. Not working yet. 6-aug-1998.