EMCalSystem
[Code Doc home]
- Defines a LayeredTube (EMCalBarrel) from the input ascii file spec for barrel and two
SlicedCones (EMCalEndcap) for the endcaps. Layers are added for each from specs from the
ascii file.
- a very thin first layer, composed of air, is inserted in each subdetector so that the
MCParticle position at the front face of the calorimeter can be stored.
- the SlicedCone allows the endcaps to have inner radii follow a polar angle boundary.
- Contains the digitized hit map CellMap, an STL map, based on the CellArray templated
class (allowing reuse by HADCalSystem).
- Digitizer and DigitizerInterface objects are created for each layer via CellArray, with
EMCalid and MCvsE as the template arguments; the layer number is also passed in.
Insensitive layers are given a special layer number (99999). Each digitizer
references the main list in EMCalSystem.
- EMCalId takes the space point and layer number to calculate a unique identifier that is
used as the key in the map. It uses the segmentation values given in the input ascii file
to create the hit ID (see Reference Geometry).
- Hit information is stored in MCvsE, which contains the total deposited energy as well as
another map storing the energy deposited per hit per MCParticle.
- addLayer keeps track of the 'shower initiator. All shower particle energy is then
assigned to that initiator.
- Contains a 2nd STL map, MCentryMap, which has the MCParticle* as the key. This second
map deals with the entry point discussed above.
- Digitizer and DigitizerInterface objects are created via MCentryDig. Its addHit function
checks for outgoing particles and stores their positions and drc's via MCentry.
R.Dubois Last Modified: 01/13/04 12:55