CLHEP/HepMC/DummyDecayModel.h

00001 // $Id: DummyDecayModel.h,v 1.3 2002/05/26 09:44:06 evc Exp $
00002 // ----------------------------------------------------------------------
00003 //
00004 // DummyDecayModel.h
00005 // Author:  Lynn Garren, Walter Brown
00006 //
00007 //  the default decay model which has no functional decay() method
00008 //
00009 // ----------------------------------------------------------------------
00010 #ifndef DUMMYDECAYMODEL_H
00011 #define DUMMYDECAYMODEL_H
00012 
00013 #include <vector>
00014 
00015 #include "CLHEP/HepPDT/DecayModel.hh"
00016 
00017 namespace HepMC {
00018 
00023 class DummyDecayModel : public HepPDT::DecayModel {
00024 
00025 public:
00026   typedef  HepPDT::DecayModel::PD   PD; // ParticleDataType
00027   typedef  HepPDT::DecayModel::PT   PT; // ParticleType
00028 
00029   // ---  birth/death:
00030   //
00031   DummyDecayModel( std::vector<double> const & decayModelParameters );
00032   virtual ~DummyDecayModel() { ; }
00033 
00034   // ---  copying:
00035   //
00036   DummyDecayModel( const DummyDecayModel & orig );
00037   DummyDecayModel &  operator = ( const DummyDecayModel & rhs );
00038   void swap( DummyDecayModel & other );
00039 
00040   // --- decay method placeholder
00041   //
00042   virtual void decay( const std::vector< PD > & /*products*/,
00043                       const PT                & /*parent*/,
00044                       std::vector<PT>         & /*daughters*/ )  { ; }
00045 
00046   // accessors
00047   int         parameters( std::vector<double> & fillme) const;
00048   std::string name() const      { return "DummyDecayModel"; }
00049 
00050   // mutators?
00051   
00052     
00053 private:
00054 
00055   // ---  DummyDecayModel<>-specific data, e.g., Helicity and/or PartialWaveAmplitudes
00056   //
00057   std::vector<double>      itsParameters;
00058 
00059 };  // DummyDecayModel
00060 
00061 inline 
00062 void  swap( DummyDecayModel & first, DummyDecayModel & second ) {
00063   first.swap( second );
00064 }
00065 
00066 // register this object
00067 REGISTER_DECAY_MODE(DummyDecayModel,DummyDecayModel::Config)
00068 
00069 }       // HepMC
00070 
00071 #endif // DUMMYDECAYMODEL_H
00072 

Class Library for High Energy Physics (version 1.8)