00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef StHbtCheckPdgIdList_hh
00022 #define StHbtCheckPdgIdList_hh
00023
00024 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
00025 #include <list>
00026
00027 #if !defined(ST_NO_NAMESPACES)
00028 using std::list;
00029 #endif
00030
00031 #ifdef ST_NO_TEMPLATE_DEF_ARGS
00032 typedef list<int, allocator<int> > pdgIdList;
00033 typedef list<int, allocator<int> >::iterator pdgIdListIterator;
00034 #else
00035 typedef list<int> pdgIdList;
00036 typedef list<int>::iterator pdgIdListIterator;
00037 #endif
00038
00039 class StHbtCheckPdgIdList {
00040
00041 public:
00042
00043 pdgIdList* mAcceptedParticles;
00044 pdgIdList* mAcceptedMothers;
00045 pdgIdList* mAcceptedDaughters;
00046
00047 StHbtCheckPdgIdList();
00048 virtual ~StHbtCheckPdgIdList();
00049
00050 StHbtString Report();
00051
00052 void AddAcceptedParticle( int pdgCode );
00053 void AddAcceptedMother( int pdgCode );
00054 void AddAcceptedDaughter( int pdgCode );
00055 int CheckPdgIdLists();
00056 int CheckPdgIdList( pdgIdList* list);
00057 int CheckPdgIdList( pdgIdList* list, int pdgCode );
00058 int CheckPdgIdList( int pdgCode, int motherPdgCode, int daughterPdgCode);
00059
00060 #ifdef __ROOT__
00061 ClassDef(StHbtCheckPdgIdList, 0)
00062 #endif
00063 };
00064
00065 #endif
00066