/afs/hep.man.ac.uk/u/markowen/ATLAS/SFrameProof/2011EPS/manTree/manTree/MTruthParticle.h

00001 #ifndef _MANTREE_MTRUTHPARTICLE_H__
00002 #define _MANTREE_MTRUTHPARTICLE_H__
00003 
00004 #include "TRefArray.h"
00005 
00006 #include <iosfwd>
00007 
00008 #include "manTree/MParticle.h"
00009 
00010 #ifdef _ATHENA_CLASSES__
00011 #include "GaudiKernel/ToolHandle.h"
00012 #include "McParticleEvent/TruthParticle.h"
00013 #include "HepMC/GenParticle.h"
00014 class IMCTruthClassifier;
00015 #endif
00016 
00017 class TLorentzVector;
00018 
00019 namespace manchester {
00020 
00022 class MTruthParticle : public MParticle {
00023 public:
00025     MTruthParticle();
00026 
00028     MTruthParticle(Double_t px, Double_t py, Double_t pz, Double_t E, Int_t status, Int_t pdg);
00029 
00031     MTruthParticle(const TLorentzVector& vec);
00032 
00034     MTruthParticle(const MTruthParticle& tp);
00035 
00036 #ifdef _ATHENA_CLASSES__
00038     MTruthParticle(const TruthParticle& p);
00039     MTruthParticle(const TruthParticle& p, ToolHandle<IMCTruthClassifier>& tool);
00040     MTruthParticle(const HepMC::GenParticle& p);
00041     MTruthParticle(const HepMC::GenParticle& p, ToolHandle<IMCTruthClassifier>& tool);
00042 
00043 #endif
00044 
00045     virtual ~MTruthParticle();
00046 
00048     void SetStatusCode(Int_t inp);
00049 
00051     Int_t GetStatusCode() const;
00052 
00054     void SetPDGID(Int_t inp);
00055 
00057     Int_t GetPDGID() const;
00058 
00060     void SetBarcode(Int_t bc);
00061 
00063     Int_t GetBarcode() const;
00064 
00066     void AddDaughter(MTruthParticle* part);
00067 
00069     Int_t GetNDaughters() const;
00070 
00072     MTruthParticle* GetDaughter(Int_t i) const;
00073     
00075     UInt_t GetMCType() const;
00076 
00078     UInt_t GetMCOrigin() const;
00079 
00080     virtual std::string Type() const;
00081 
00082 protected:
00084     virtual void Reset();
00085 
00086 private:
00088     TRefArray m_daughters;
00089 
00091     Int_t m_statuscode;
00092 
00094     Int_t m_pdgid;
00095 
00097     Int_t m_barcode;
00098 
00101     UInt_t m_mctype;
00102 
00105     UInt_t m_mcorigin;
00106 
00107     ClassDef(MTruthParticle, 4);
00108 };
00109 
00110 }//namespace manchester
00111 
00112 #endif //_MANTREE_MTRUTHPARTICLE_H__

Generated on Thu Jun 30 11:40:04 2011 for manTreeSFrame by  doxygen 1.4.7