GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
Public Member Functions | List of all members
gear::VersatileDiskRowLayoutXML Class Reference

XML handler for VersatileDiskRowLayoutXML. More...

#include <VersatileDiskRowLayoutXML.h>

Inheritance diagram for gear::VersatileDiskRowLayoutXML:
gear::PadRowLayout2DXML

Public Member Functions

virtual TiXmlElement toXML (const PadRowLayout2D *layout) const
 Creates an XML node for the given PadRowLayout2D.
 
virtual PadRowLayout2DfromXML (const TiXmlElement *xmlElement) const
 Creates the appropriate PadRowLayout2D subclass from the given XML element (node)
 

Additional Inherited Members

- Static Public Member Functions inherited from gear::PadRowLayout2DXML
static PadRowLayout2DXMLgetHandler (const std::string &typeName)
 Get handler for given type.
 
static PadRowLayout2DXMLgetHandler (const PadRowLayout2D *l)
 Get handler for given type of PadRowLayout2D.
 
static Map & map ()
 The map with available xml handler objects (PadRowLayout2DXML)
 

Detailed Description

XML handler for VersatileDiskRowLayoutXML.

The layout is created row wise, starting from the inner radius,
which is the lower edge of the first pad row. The pad geometry is always described by
\c rowHeight and \c padPitch, which describe the effective pad dimensions.
\c padWidth and \c padHeight are the dimensions of the metal, without the gaps. They are kept
only for backwards compatibility and are irrelevant for the reconstruction.

All values are given im mm. \c padPitch, \c offset (and \c padWidth) are measured in the
middle of the pad row. All offsets are measured with respect to phi=0, which is the zero of the local coordinate phi.
The pads are arranged in positive phi direction, starting at \form#1  (where \form#2 is the central radius
of row i) for the "right" edge of the first pad (pitch). 

The parameters are visualised below. For visualisation purposes the phi=0 line (local coordinate system) has been rotated.
In GEAR, this rotation with respect to the horizontal axis is the \angle parameter of the module (not shown in the picture because
it is not a parameter of the VersatileDiskRowLayout).

Please note that \c phiMin coincides with phi=0 in this example because 
the first row does not have an offset, and the second offset is positive. This is not necessarily the case.
phiMin reported by the plain extent is \form#3, phiMax is \form#4.
The central angle \c phiModuleCentre = (\c phiMax+ \c phiMin)/2 is only shown for illustration. It is never used or calculated.

Parameters for the layout itself
@param rMin The radius of the inner edge of the first pad row  in mm.

Parameter for the rows
@param nPad Number of pads in the row
@param rowHeight Height of the row in mm
@param padPitch Pitch of the pad in mm, measured at the radius at the pad centre
@param padWidth (optional) Width of the metal of the pad at the central radius in mm. Has to be < \c padPitch. If not given it is \c padPitch.
@param padHeight (optional) Height of the metal of the pad in mm. Has to be < \c rowHeight. If not given it is \c rowHeight.
@param offset (optional) Offset in mm with respect to the alignment axis phi=0. Measured at the central radius of the pad.
@param repeat (optional) Insert \c"repeat" identical rows instead of only one.

\image html ../VersatileDiskRowLayoutXML.png
\image latex ../VersatileDiskRowLayoutXML.eps

The XML syntax (numbers not consistent with the drawing, sorry):
<!-- Within the module section -->
<PadRowLayout2D type="VersatileDiskRowLayout" rMin="1439.96">

  <!-- Add the individual rows -->
  <!-- nPad, rowHeight and padPitch are obligatory -->
  <!-- offset (staggering), padWidth, padHeight and repeat are optional -->

  <!-- row 0 -->
  <row nPad="176" padPitch="1.18511" rowHeight="5.36"
   padWidth="1.085106" padHeight="5.26" />

  <!-- rows 1 to 3 -->
  <row nPad="176" padPitch="1.18951" rowHeight="5.36"
   padWidth="1.08951" padHeight="5.26"  offset="0.594754" repeat="3"/>

</PadRowLayout2D>
Author
Martin Killenberg, CERN
Version
$Id$

Definition at line 73 of file VersatileDiskRowLayoutXML.h.


The documentation for this class was generated from the following files: