Source code (CVS tag: @) - Administrative privileges
Description
Provides the geometrical model of the endcap muon CSC system as a container of CSCs (CSChamber objects).
A CSCChamber is a concrete implementation of the GeomDet interface for a CSC.
A CSCChamber is composed of 6 CSCLayer objects, each of which is a concrete implementation of a GeomDetUnit.
Each CSCLayer contains concrete implementations of Topology objects to describe the wire and strip planes in a layer of a CSC.
Public interface
- CSCGeometry The entire model of the CSC endcap muon system.
This isa TrackingGeometry. Basically a vector<CSCChamber*>.
- CSCChamber Represents one CSC in the system.
A CSC is composed of 6 layers so a CSCChamber is composed of 6 CSCLayer objects. Basically a vector<CSCLayer*>.
A CSCChamber can transform between local and global coordinates.
- CSCLayer Represents one layer (gas+strip plane+wire plane) of a CSC.
A CSCLayer can transform between local and global coordinates.
Secondary public interface
Mainly used by the above classes, but sometimes by other packages.
- CSCChamberSpecs General properties of a CSC, e.g. dimensions.
There are 10 types of chamber in the CSC system, corresponding to the combinations MEi/j where i labels station 1-4, and j labels ring 1-3 (We have ME1/1, ME1/2, ME1/3, ME2/1, ME2/2, ME3/1, ME3/2, ME4/1, ME4/2).
Within the software we also form a virtual ring j=4 to describe the inner region of ME1/1, which is known in the hardware as ME1/1a. We then presume i=1, j=1 labels the outer region, which is known in hardware as ME1/1b.)
BEWARE that sometimes there is optimization of the i, j labels in the software so one should always access them through the appropriate interfaces rather than attempting to decode values stored internally in the objects. (Such relabelling is done, e.g., to optimize DetLayer geometry access during muon track reconstruction.)
The -z and +z endcaps are symmetric so only 10 CSCChamberSpecs objects in total are used, one per chamber type.
- CSCLayerGeometry General properties of a CSC layer.
Encapsulates the geometry of the strips in a CSCStripTopology and the geometry of the wires in a CSCWireTopology.
All values are in local coordinates.
There are separate objects for odd and even layers in the 6 layers of a CSC, and separate objects for the -z and +z endcaps, so there are 10 x 2 x 2 = 40 CSCLayerGeometry objects.
- CSCWireGeometry Abstract class dealing with the spacing and angles of wires in a wire plane.
- nint A nearest int function for floats and doubles. This was originally a CMS-wide function.
- CSCGattiFunction Represents the expected functional form of the charge distribution on strips in a MWPC.
This is required for distributing simulated charge over strips during simulation. Although it is not strictly geometrical, it was not clear where else to package it.
Classes not in public interface
Modules
I don't even know what a 'module' is, so I don't think there are any.
Unit tests and examples
No cppunit tests left since they were never properly supported or particularly useful. But there are 7 types of stand-alone test program in the test directory which are extremely useful for examining what's in the CSCGeometry hierarchy.
Status and planned development
Completed. Stable. (But tests will continue to be developed as appropriate.)
Last updated: @ Author: computer-generated.