TRF++ Planar XY surface classes (package trfxyp)


Code version 00.63

An introduction to TRF++ may be found at http://www-d0.fnal.gov/~dladams/trf.


Links to code

The description below includes links to the code contained in this package. This version of the code may not be the most recent.

Description

TRF++ package trfplane provides classes for describing and managing planar surfaces parallel to Z axis.

The physical components include:

Their dependencies are illustrated in the physical dependency diagram.

The class diagram [this diagram does not yet exist]. shows the classes and their relationships.

This package depends on the following external packages:

The classes defined in the above components are described below. Each class is defined in a component of the same name unless otherwise indicated. These descriptions are brief. See the header files for details.


Surfaces

Both plane classes are unbounded surfaces, i.e. they inherit from class Surface.

Class SurfXYPlane describes a plane parallel to the z-axis. It is characterized by the angle of its normal w.r.t. the x-axis and the coordinate u along the normal axis. The angle should be in the range [0,2PI], u should be positive. Both are required by assert statements. The track parameters are (v, z, dv/du, dz/du, q/p) where (u,v,z) forms a right-handed orthogonal coordinate system. The units are the same as for SurfZPlane.

Class BSurfXYPlane add rectangular boundaries to the pure surface classes. CrossStat is defined in the following way: if a track is above the plane ( along plane normal) CrossStat::IN is set, if a track is under the plane ( along plane normal) CrossStat::OUT is set.

Propagators

Component PropXYXY contain a propagator. It inherits from PropDirected and provide the required methods to propagate VTrack and ETrack objects. It only handles propagation between two correspondent surfaces. PropXYXY : between two XYPlanes. The surface types are required by assert statements and then checked again in case the assertions are disabled.

Each propagator assumes forward propagation as propagation forward in time and backward - as propagation backward in time. Track is required to have defined direction. No propagation if original track momentum is parallel to a destination plane.

Component PropXYXYBV contain a propagator when magnetic field is parallel to V axis. It inherits from PropDirected and provide the required methods to propagate VTrack and ETrack objects. It only handles propagation between two parallel XYPlanes with angle phi equal to zero . The surface types are required by assert statements and then checked again in case the assertions are disabled.

Each propagator assumes forward propagation as propagation forward in time and backward - as propagation backward in time. Track is required to have defined direction.

Hits

Two kinds of hits are introduced for Surface XYPlane: linear combination of v and z and 2-dimentional hits v,z. Each cluster generates exactly one hit whose measurement and error are independent of the input track.

The wv*v+wz*z combination cluster class ClusterXYPlane1 is defined in component HitXYPlane1 which also defines a hit class with the same name. The 2D measurement v,z is defined in component HitXYPlane2 which contains a hit class of the same name and the associated cluster class ClusterXYPlane1

Hit Generators

The classes HitXYPlane1Generator and HitXYPlane2Generator provide concrete implementations of the trfbase abstract class HitGenerator. They randomly generate ClusXYPlane1 and ClusXYPlane2 objects, respectively. In 1D case clusters are generated in accordance to given standard deviation. In 2D case clusters are generated in accordance to given error matrix.

Cluster finders

There is one type of cluster finder defined for each type of cluster: ClusFindXYPlane1 and ClusFindXYPlane2.

The nearness of a track to a cluster is measured with a chi-square difference.

Layers

Component LayerXYPlane defines a very simple layer class. The layer consists of one surface which is of type SurfXYPlane. Method propagate in LayerXYPlane propagates track to itself in such a possible way ( BACKWARD or FORWARD) that track points outward after propagation (that is along the FORWARD direction defined on a SurfXYPlane) and checks surface bounds for a propagated track.

Fitters

There are two components containing add fitters for use when starting tracks in a planar detector.

2 hit fitters set direction of the track (along the surface direction) assuming backward in time propagation. Tracks are rejected if momentum is too small (radius is smaller than have a distance between two hits) judging by magnetic field.

Interactors

ThinXYPlaneMS describes multiple scattering at a Z-plane.


Questions or comments to dladams@fnal.gov or skulik@fnal.gov.