SFrame 3.6
plug-ins/include/SParticle.h
Go to the documentation of this file.
00001 // Dear emacs, this is -*- c++ -*-
00002 // $Id: SParticle.h 120 2009-08-27 12:02:57Z krasznaa $
00003 /***************************************************************************
00004  * @Project: SFrame - ROOT-based analysis framework for ATLAS
00005  * @Package: Plug-ins
00006  *
00007  * @author Stefan Ask       <Stefan.Ask@cern.ch>           - Manchester
00008  * @author David Berge      <David.Berge@cern.ch>          - CERN
00009  * @author Johannes Haller  <Johannes.Haller@cern.ch>      - Hamburg
00010  * @author A. Krasznahorkay <Attila.Krasznahorkay@cern.ch> - CERN/Debrecen
00011  *
00012  ***************************************************************************/
00013 
00014 #ifndef SFRAME_PLUGINS_SParticle_H
00015 #define SFRAME_PLUGINS_SParticle_H
00016 
00017 // STL include(s):
00018 #include <vector> // This include is only here to be able to generate a dictionary
00019                   // for std::vector< SParticle >.
00020 
00021 // ROOT include(s):
00022 #include "Rtypes.h"
00023 #include "Math/LorentzVector.h"
00024 #include "Math/PtEtaPhiE4D.h"
00025 #include "TObject.h"
00026 
00051 class SParticle :
00052    public ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< Double32_t > >,
00053    public TObject {
00054 
00055 public:
00057    SParticle();
00059    SParticle( Double32_t pt, Double32_t eta, Double32_t phi,
00060               Double32_t e );
00062    SParticle( const SParticle& parent );
00064    template< class Geom > SParticle( const ROOT::Math::LorentzVector< Geom >& parent );
00066    virtual ~SParticle();
00067 
00069    template< class Geom >
00070    SParticle& operator= ( const ROOT::Math::LorentzVector< Geom >& rh );
00071 
00072 #ifndef DOXYGEN_IGNORE
00073    ClassDef( SParticle, 1 );
00074 #endif // DOXYGEN_IGNORE
00075 
00076 }; // class SParticle
00077 
00078 //
00079 // Include template implementation:
00080 //
00081 #ifndef __CINT__
00082 #include "SParticle.icc"
00083 #endif // __CINT__
00084 
00108 #endif // SFRAME_PLUGINS_SParticle_H