The ARD gives rise to several physics output entities, i.e. entities which the user requires for manipulation in an application.
The attributes required by each of the principle particle entities (Electron,
Photon, Muon) are identical, therefore
All physics output entities can be seen in the Physics Output Entities Class Diagram
Decisions on ATLAS wide interfaces manifestly involve many interest
groups, and cannot converge quickly.
Therefore in this iteration of Atlfast
we have implemented a simple prototype interface to capture kinematic attributes.
This is achieved through the abstract base class:
IKinematic
This interface is currently a placeholder for accessors for all kinematic attributes, but as yet only a subset of the possible accessor methods have been implemented. All of the physics output entities implement IKinematic except the Track class.
The Track implements the interface ITrackTrajectory
The question of safe and OO history associations has not yet been
properly solved in the Athena framework.
History associations are those such
as tracing the Generator particle upon which a simulated partice is based,
or the Cells from which a Cluster is created.
As a stop gap measure an ad-hoc solution is used in Atlfast. This is achieved by the inherited class
AssociationManagerIt is intended that this will be replaced when a proper Athena wide solution is adopted.
There is also a different sort of association required.
This is typified by the this electron is close to this cluster association,
i.e. not a creation history, but a post creation association which may in general
have arbitrary criteria.
This is even more complicated to solve safely and in an OO fashion.
This is not yet done and the AssociationManager mechanism is used for this
need at present.