The calorimeter consists of 80 logs.

The CalHit class contains the information about a single calorimeter log. This includes the ADC values for all 4 digitizations, and implements a LogID member which provides access to information on the position of the log within the calorimeter.

A typical user will need getColumn and getLayer and getADCValue.

getColumn and getLayer are derived from logID, which comes from getSequence getPipeline and getXY.

A better documenation here is still needed. Any suggestions ?

CALHit
Members Range Comment

getADCID()

0 to 3

Returns the remainder of the ADC sequence number divided by 4 for a particular log and energy range

getADCPinID()

0 or 1

Returns Pin Diode ID:

0 = Low Energy

1 = High Energy

getADCRangeScale()   Returns Range:

0 = High gain

1 = Low Gain

getADCValue() 0 to 4095 Returns the Pulse Height value for this log end  in ADC counts. Conversion from ADC counts to Energy is done via calibration files. The arguments are actually left=0(-column) and right=1 (+column) and gain
getLogID()   Returns a pointer to a LogID class (See below)

Note: the underlined members are for experts only.

For the experts: getADCPin()  and getADCRangeScale() are combined to produce

LEX4 - High Gain Low Energy (0,0)

LE - Low Gain Low Energy (0,1)

HEX8 - High Gain High Energy (1,0)

HE - Low Gain High Energy (1,1)

The LogID class contains a log ID number (encoding of detector element position) as well as functions to obtain the location of log in question. LogID is used in the CalHit class.

 

LOGId
Members Range Comment

getColumn()

0 to 9

Returns the column number. There are 10 logs per layer, each position comprises a 'column'.  This value is calculated from the electronics sequence and pipeline values. 

If  getXY() returns X it means that the is log oriented along X, (see below). The Y coordinate of where the energy was deposited is measured by using the column number and the X coordinate is measured by using light assymetry.  (Vice-versa for Y layers)

getID()

0 to 79

Returns Log ID's:

This value encodes the position information of a log in the calorimeter.  It should not be used to calculate the position information directly, instead use the functions getColumn(), getLayer(), and getXY().

getXY() 0 or 1 Returns whether the log is parallel to the X or Yaxis. (X=0 , Y=1)

(See description of getColumn() above for measuring X/Y position of energy deposits)

getLayer() 0 to 7 Returns the layer this log is in. Layers are numbered from 0: ( closest to TKR) to 7: (furthest from TKR)  Measure Z position in calorimeter using the layer value.
getPipeline() 0 to 7 Returns the electronics pipeline the log is read out through
getSequence() 0 to 5 Returns the electronics ADC sequence the log is read out from

Note: the underlined members are for experts only.