00001 // $Id: DecayEntry.h,v 1.1 2000/01/17 23:37:28 burnett Exp $ 00002 // 00003 // 00004 // 00005 // file: decayent.h 00006 00007 #ifndef __DECAYENT_H 00008 #define __DECAYENT_H 00009 00010 00011 #include "gismo/Decayer.h" 00012 00013 00014 class DecayEntry 00015 { 00016 00017 friend class PDT; 00018 friend class GParticle; 00019 friend class PData; 00020 friend class PDTEntry; 00021 00022 float branchingFraction; 00023 int numChildren; // number of secondaries (or zero if 00024 // decayer has responsibility 00025 Decayer* decayer; // pointer to Decayer entry 00026 PData** children; // array of pointers to particle data 00027 DecayEntry* next; // trivial implementation of singly-linked list 00028 00029 DecayEntry(float, PData**); 00030 const char * name()const{return decayer->name();} 00031 virtual ~DecayEntry() {delete children;} 00032 00033 int decay(GParticle*p)const{return decayer->replacement->decay(p);} 00034 void printOn(std::ostream& cout) const; 00035 00036 }; 00037 00038 // Description --------------------------------------------------------- 00039 // 00040 // Private class for use by PDT and PDTEntry. 00041 // 00042 // Constructors 00043 // 00044 // DecayEntry 00045 // 00046 // Destructors 00047 // 00048 // virtual ~DecayEntry 00049 // 00050 // 00051 // Private Members 00052 // 00053 // branchingFraction 00054 // numParts number of secondaries (or zero if decayer 00055 // will take care of it 00056 // secondary array of pointers to (Anti)ParticleData objects 00057 // decayer pointer to Decayer entry 00058 // 00059 // next pointer to next DecayEntry for this list 00060 // 00061 // name() return the name of the Decayer 00062 // decay() call the decay routine via the pointer 00063 // 00064 // 00065 // Remarks 00066 // 00067 // constructed by PDT::addDecay, which links it to its PDTEntry 00068 // 00069 // Friends: PDT, DecayEntry, PData, Particle 00070 // 00071 // End ----------------------------------------------------------------- 00072 #endif 00073
1.2.3 written by Dimitri van Heesch,
© 1997-2000