// @(#)root/eg:$Id$ // Author: Pasha Murat 12/02/99 /************************************************************************* * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef TParticleClassPDG_hh #define TParticleClassPDG_hh #include "TNamed.h" #include "TObjArray.h" class TParticlePDG; class TParticleClassPDG : public TNamed { public: //------------------------------------------------------------------------------ // data members //------------------------------------------------------------------------------ protected: TObjArray* fListOfParticles; // list of (non-owned) particles TParticleClassPDG(const TParticleClassPDG& pcp): TNamed(pcp), fListOfParticles(pcp.fListOfParticles) { } TParticleClassPDG& operator=(const TParticleClassPDG& pcp) {if(this!=&pcp) {TNamed::operator=(pcp); fListOfParticles=pcp.fListOfParticles;} return *this; } //------------------------------------------------------------------------------ // functions //------------------------------------------------------------------------------ public: // ****** constructors and destructor TParticleClassPDG(const char* name = 0); ~TParticleClassPDG() override; // ****** access methods Int_t GetNParticles () { return fListOfParticles->GetEntriesFast(); } TParticlePDG* GetParticle(Int_t i) { return (TParticlePDG*) fListOfParticles->At(i); } TObjArray* GetListOfParticles() { return fListOfParticles; } // ****** modifiers void AddParticle(TObject* p) { fListOfParticles->Add(p); } // ****** overloaded methods of TObject void Print(Option_t* opt="") const override; // *MENU* Bool_t IsFolder() const override { return kTRUE; } void Browse(TBrowser* b) override; ClassDefOverride(TParticleClassPDG,1) // PDG static particle definition }; #endif