Atlfast::Track Class Reference

#include <Track.h>

Inheritance diagram for Atlfast::Track:

Inheritance graph
[legend]
Collaboration diagram for Atlfast::Track:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Track (const TrackTrajectory &trajectory, const HepMC::GenParticle *progenitor)
 MC particle identifier.
 Track (const TrackTrajectory &truthTrajectory, const TrackTrajectory &smearTrajectory, const HepMC::GenParticle *progenitor, const HepSymMatrix &matrix)
 Track (const Track &other)
Trackoperator= (const Track &other)
 Track ()
virtual ~Track ()
virtual TrackTrajectory trajectory () const
 Track methods.
virtual int pdg_id () const
const HepMC::GenParticle * truth () const
const HepSymMatrix smearMatrix () const
 generating MC vec
void setMatrix (const HepSymMatrix &matrix)
const TrackTrajectory truthTrajectory () const
virtual void accept (IAOOvisitor *) const
 IAOO interface method.
virtual HepLorentzVector momentum () const
 IKinematic interface methods.
virtual double eta () const
virtual double phi () const
virtual double pT () const
virtual double eT () const
virtual double mT () const
virtual IKinematicclone () const
virtual void print (const std::string &coor, std::string t="") const
 IKinematic debug.
virtual void fillNavTokenFromAssocs (INavigationToken &) const=0
virtual double e () const
virtual double m () const
virtual void associate (const IAOO *otherEntity)=0
 store any object with IAOO above it the inheritance heirarchy
virtual std::vector< const
IAOO * >::const_iterator 
begin () const=0
 iterators for the store.
virtual std::vector< const
IAOO * >::const_iterator 
end () const=0
virtual bool unAssociated () const=0
 A quick way to find out whether there are any associations at a ll.
virtual void reset ()=0
 zero the container
virtual void dump (const std::string &s) const =0
 dump out debug info

Private Member Functions

virtual void fillToken (INavigationToken &) const
virtual void fillToken (INavigationToken &, const boost::any &) const
virtual void fillNavTokenFromAssocs (INavigationToken &) const
virtual void associate (const IAOO *otherEntity)
 store any object with IAOO above it the inheritance heirarchy
virtual std::vector< const
IAOO * >::const_iterator 
begin () const
 iterators for the store.
virtual std::vector< const
IAOO * >::const_iterator 
end () const
virtual bool unAssociated () const
 A quick way to find out whether there are any associations at a ll.
virtual void reset ()
 zero the container
virtual void dump (const std::string &) const
 dump out debug info

Private Attributes

TrackTrajectory m_trajectory
TrackTrajectory m_truthTrajectory
 Trajectory (smeared) for track.
const HepMC::GenParticle * m_truth
 Trajectory (unsmeared) generated particle.
HepSymMatrix m_smearMatrix
 original mc particle
int m_pdg_id
 Covariance matrix.

Detailed Description

Definition at line 68 of file Track.h.


Constructor & Destructor Documentation

Atlfast::Track::Track ( const TrackTrajectory trajectory,
const HepMC::GenParticle *  progenitor 
) [inline]

MC particle identifier.

Definition at line 135 of file Track.h.

00136                                                         :
00137     AODNavigationImp(),
00138     m_trajectory(trajectory),
00139     m_truthTrajectory(trajectory),
00140     m_truth( progenitor ),
00141     m_smearMatrix(HepSymMatrix(5,0)),
00142     m_pdg_id(progenitor->pdg_id())
00143     { 
00144     }
      

Atlfast::Track::Track ( const TrackTrajectory truthTrajectory,
const TrackTrajectory smearTrajectory,
const HepMC::GenParticle *  progenitor,
const HepSymMatrix &  matrix 
) [inline]

Definition at line 149 of file Track.h.

00152                                                :
00153     AODNavigationImp(),
00154     m_trajectory(smearTrajectory),
00155     m_truthTrajectory(truthTrajectory),
00156     m_truth( progenitor ),
00157     m_smearMatrix(matrix),
00158     m_pdg_id(progenitor->pdg_id())
00159     { }

Atlfast::Track::Track ( const Track other  )  [inline]

Definition at line 164 of file Track.h.

00164                                      :
00165     Atlfast::IAOO(other),
00166     INavigable(other),
00167     I4Momentum(other),
00168     INavigable4Momentum(other),
00169     Atlfast::IKinematic(other),
00170     Atlfast::IAODNavigation(other),
00171     AODNavigationImp(other),
00172     m_trajectory(other.m_trajectory),
00173     m_truthTrajectory(other.m_truthTrajectory),
00174     m_truth( other.m_truth ),
00175     m_smearMatrix(other.m_smearMatrix),
00176     m_pdg_id(other.m_pdg_id)
00177     { }
      

Atlfast::Track::Track (  )  [inline]

Default which seems to be required by Athena, although doesnt have any meaning for the Track class. Hence a bogus trajectory has to be invented.

Definition at line 198 of file Track.h.

00198                 :
00199     AODNavigationImp(), 
00200     m_truth(0){}
  

Atlfast::Track::~Track (  )  [inline, virtual]

Definition at line 205 of file Track.h.

00205 {}


Member Function Documentation

Track & Atlfast::Track::operator= ( const Track other  )  [inline]

Definition at line 182 of file Track.h.

00182                                                 {
00183     if(this == &other) return *this;
00184     AODNavigationImp::operator=(other);
00185     m_trajectory                = other.m_trajectory;
00186     m_truthTrajectory           = other.m_truthTrajectory;
00187     m_truth                     = other.m_truth;
00188     m_smearMatrix               = other.m_smearMatrix;
00189     m_pdg_id                    = other.m_pdg_id;
00190     return *this;
00191   }

TrackTrajectory Atlfast::Track::trajectory (  )  const [virtual]

Track methods.

Definition at line 87 of file Track.cxx.

00087                                           {
00088     return m_trajectory;
00089   }

int Atlfast::Track::pdg_id (  )  const [virtual]

Definition at line 91 of file Track.cxx.

00091 {return m_pdg_id;}

const HepMC::GenParticle * Atlfast::Track::truth (  )  const

Definition at line 93 of file Track.cxx.

00093 { return m_truth ; }

const HepSymMatrix Atlfast::Track::smearMatrix (  )  const

generating MC vec

Definition at line 95 of file Track.cxx.

00095 {return m_smearMatrix;}

void Atlfast::Track::setMatrix ( const HepSymMatrix &  matrix  ) 

Definition at line 97 of file Track.cxx.

00097 {m_smearMatrix = matrix;}

const TrackTrajectory Atlfast::Track::truthTrajectory (  )  const

Definition at line 99 of file Track.cxx.

00099 {return m_truthTrajectory;}

void Atlfast::Track::accept ( IAOOvisitor  )  const [virtual]

IAOO interface method.

Implements Atlfast::IAOO.

Definition at line 82 of file Track.cxx.

00082                                             {
00083     iaPtr->process(this);
00084   }

HepLorentzVector Atlfast::Track::momentum (  )  const [virtual]

IKinematic interface methods.

Implements Atlfast::IKinematic.

Definition at line 101 of file Track.cxx.

00101                                           {
00102     return m_truth->momentum();
00103   }

double Atlfast::Track::eta (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 105 of file Track.cxx.

00105                           { 
00106     return momentum().pseudoRapidity();
00107   }

double Atlfast::Track::phi (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 109 of file Track.cxx.

00109                           { 
00110     return momentum().phi();
00111   }

double Atlfast::Track::pT (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 113 of file Track.cxx.

00113                           { 
00114     return momentum().perp();
00115   }

double Atlfast::Track::eT (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 117 of file Track.cxx.

00117                           { 
00118     return momentum().perp();
00119   }

double Atlfast::Track::mT (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 121 of file Track.cxx.

00121                           { 
00122     return momentum().mt();
00123   }

IKinematic * Atlfast::Track::clone (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 125 of file Track.cxx.

00125                                 {
00126     IKinematic* ik = new Track(*this);
00127     return ik;
00128     }

void Atlfast::Track::print ( const std::string &  coor,
std::string  t = "" 
) const [virtual]

IKinematic debug.

Implements Atlfast::IKinematic.

Definition at line 130 of file Track.cxx.

00130                                                            {
00131     AODNavigationImp::print(coor, t);
00132     std::cout<<s<<"\n"
00133              <<std::string(73,' ')
00134              <<"Track"<<std::endl;
00135   }

virtual void Atlfast::IAODNavigation::fillNavTokenFromAssocs ( INavigationToken &   )  const [pure virtual, inherited]

Implemented in Atlfast::AODNavigationImp.

virtual double Atlfast::IKinematic::e (  )  const [inline, virtual, inherited]

Reimplemented in Atlfast::Jet.

Definition at line 75 of file IKinematic.h.

00075 {return this->momentum().e();}

virtual double Atlfast::IKinematic::m (  )  const [inline, virtual, inherited]

Definition at line 76 of file IKinematic.h.

00076 {return this->momentum().m();}

virtual void Atlfast::IAOO::associate ( const IAOO otherEntity  )  [pure virtual, inherited]

store any object with IAOO above it the inheritance heirarchy

Implemented in Atlfast::AOObase.

virtual std::vector<const IAOO*>::const_iterator Atlfast::IAOO::begin (  )  const [pure virtual, inherited]

iterators for the store.

Implemented in Atlfast::AOObase.

virtual std::vector<const IAOO*>::const_iterator Atlfast::IAOO::end (  )  const [pure virtual, inherited]

Implemented in Atlfast::AOObase.

virtual bool Atlfast::IAOO::unAssociated (  )  const [pure virtual, inherited]

A quick way to find out whether there are any associations at a ll.

Implemented in Atlfast::AOObase.

virtual void Atlfast::IAOO::reset (  )  [pure virtual, inherited]

zero the container

Implemented in Atlfast::AOObase.

virtual void Atlfast::IAOO::dump ( const std::string &  s  )  const [pure virtual, inherited]

dump out debug info

Implemented in Atlfast::AOObase.

virtual void Atlfast::AODNavigationImp::fillToken ( INavigationToken &   )  const [inline, virtual, inherited]

Reimplemented in Atlfast::Cluster, and Atlfast::Jet.

Definition at line 48 of file AODNavigationImp.h.

00048 { };

virtual void Atlfast::AODNavigationImp::fillToken ( INavigationToken &  ,
const boost::any &   
) const [inline, virtual, inherited]

Reimplemented in Atlfast::Cluster, and Atlfast::Jet.

Definition at line 49 of file AODNavigationImp.h.

00049 { };

void Atlfast::AODNavigationImp::fillNavTokenFromAssocs ( INavigationToken &   )  const [virtual, inherited]

Implements Atlfast::IAODNavigation.

Definition at line 14 of file AODNavigationImp.cxx.

00014                                                                             {
00015     NavigationToken<I4Momentum>* i4Token =
00016       dynamic_cast< NavigationToken<I4Momentum>* >(&token);
00017     if ( i4Token == 0 ) return;
00018     
00019     TypeVisitor typeVisitor = SimpleAssocsDispatcher(this, TypeVisitor());
00020 
00021     std::vector<const I4Momentum*> i4s = typeVisitor.i4momenta();    
00022     std::vector<const I4Momentum*>::const_iterator iter = i4s.begin();
00023     for(;iter!= i4s.end(); ++iter){i4Token->setObject(*iter);}
00024   }

void Atlfast::AOObase::associate ( const IAOO otherEntity  )  [virtual, inherited]

store any object with IAOO above it the inheritance heirarchy

Implements Atlfast::IAOO.

Definition at line 18 of file AOObase.cxx.

00018                                            {
00019     m_associations.push_back( other ) ;
00020   }

std::vector< const IAOO * >::const_iterator Atlfast::AOObase::begin (  )  const [virtual, inherited]

iterators for the store.

Implements Atlfast::IAOO.

Definition at line 10 of file AOObase.cxx.

00010                                                            {
00011     return m_associations.begin();
00012   }

std::vector< const IAOO * >::const_iterator Atlfast::AOObase::end (  )  const [virtual, inherited]

Implements Atlfast::IAOO.

Definition at line 14 of file AOObase.cxx.

00014                                                            {
00015     return m_associations.end();
00016   }

virtual bool Atlfast::AOObase::unAssociated (  )  const [inline, virtual, inherited]

A quick way to find out whether there are any associations at a ll.

Implements Atlfast::IAOO.

Definition at line 31 of file AOObase.h.

00031 { return m_associations.empty() ; }

virtual void Atlfast::AOObase::reset (  )  [inline, virtual, inherited]

zero the container

Implements Atlfast::IAOO.

Definition at line 32 of file AOObase.h.

00032 { m_associations.clear();}

void Atlfast::AOObase::dump ( const std::string &   )  const [virtual, inherited]

dump out debug info

Implements Atlfast::IAOO.

Definition at line 22 of file AOObase.cxx.

00022                                             {
00023     std::cout<<'\n'<<s<<"Associations: "
00024              <<std::setw(6)<<m_associations.size()
00025              <<std::string(53,' ')
00026              <<"AOObase"<<std::endl;
00027     //std::for_each(m_associations.begin(), 
00028     //    m_associations.end(), 
00029     //    AtlfastDumperObject("Associations", "   ")
00030     //    );
00031   }


Member Data Documentation

TrackTrajectory Atlfast::Track::m_trajectory [private]

Definition at line 73 of file Track.h.

TrackTrajectory Atlfast::Track::m_truthTrajectory [private]

Trajectory (smeared) for track.

Definition at line 74 of file Track.h.

const HepMC::GenParticle* Atlfast::Track::m_truth [private]

Trajectory (unsmeared) generated particle.

Mc truth particle from which the track was created

Todo:
should be implemented as GenParticleLink

Definition at line 79 of file Track.h.

HepSymMatrix Atlfast::Track::m_smearMatrix [private]

original mc particle

Definition at line 80 of file Track.h.

int Atlfast::Track::m_pdg_id [private]

Covariance matrix.

Definition at line 81 of file Track.h.


The documentation for this class was generated from the following files:
Generated on Fri Sep 21 13:00:23 2007 for AtlfastEvent by  doxygen 1.5.1