Interfaces
There are a number of interfaces utilised within the Athena-Atlfast Code.
A full discussion on Atlas interfaces is given here.
IKinematic
Most of the Atlfast physics output entities such as ReconstructedParticles, Jets and Cells honour the IKinematic Interface.
Methods
HepLorentzVector momentum()
double eta()
double phi()
double pT()
double eT()
double mT()
IMCselector
The IMCselector interface is designed for selection of particles in the TES.
Methods
IMCselector* create()
bool operator()( const HepMC::Particle* )
bool operator()( const HepMC::Particle& )
The create() method the constructor of a concrete type.
The operator() methods return true or false depending on whether the
HepMC::Particle passed to them fulfils the selectors requirements.
ICellSelector
Objects that honour this interface return a boolean when passed a Cell
object. The value of the boolean depends on the individual selection criteria.
Methods
bool operator()(const Cell*)
ITrackTrajectory
These return parameters of position of closest approach to origin,
the directions at position of closest approach,
the momentum at position of closest approach,
the curvature related information
and the sign of curvature (-1 or +1)
Methods
double impactParameter()
double zPerigee()
double phi()
double eta()
double cotTheta()
double pT()
Hep3Vector threeMomentum()
operator Hep3Vector()
double invPtCharge()
double radius()
int signOfCharge()
IMatrixManager
This interface is used purely in the track smearing
In returns a 5X5 HepMatrix when passed a TrackTrajectory Object
Methods
public:
HepMatrix* getMatrix(const TrackTrajectory& track)
Private:
void initialise()
BinID getBinID(const TrackTrajectory& track)
ISmearer
All the Smearers except the TrackSmearers honour the ISmearer interface.
Methods
HepLorentzVector smear( const HepLorentzVector& )