G4QDecayChan Class Reference

#include <G4QDecayChan.hh>


Public Member Functions

 G4QDecayChan ()
 G4QDecayChan (G4double pLev, G4int PDG1, G4int PDG2, G4int PDG3=0)
 G4QDecayChan (const G4QDecayChan &right)
 G4QDecayChan (G4QDecayChan *right)
 ~G4QDecayChan ()
const G4QDecayChanoperator= (const G4QDecayChan &right)
G4bool operator== (const G4QDecayChan &rhs) const
G4bool operator!= (const G4QDecayChan &rhs) const
G4double GetDecayChanLimit () const
G4double GetMinMass () const
G4QPDGCodeVector GetVecOfSecHadrons ()
void SetDecayChanLimit (G4double newDecChanLim)
void SetMinMass (G4double newMinMass)
void SetVecOfSecHadrons (G4QPDGCodeVector hadV)


Detailed Description

Definition at line 48 of file G4QDecayChan.hh.


Constructor & Destructor Documentation

G4QDecayChan::G4QDecayChan (  ) 

Definition at line 47 of file G4QDecayChan.cc.

00047                           :aDecayChanLimit(0.),theMinMass(0.)
00048 {}

G4QDecayChan::G4QDecayChan ( G4double  pLev,
G4int  PDG1,
G4int  PDG2,
G4int  PDG3 = 0 
)

Definition at line 50 of file G4QDecayChan.cc.

References G4cout, G4endl, and G4QPDGCode::GetMass().

00050                                                                            :
00051   aDecayChanLimit(pLev)
00052 {
00053   G4QPDGCode* firstPDG = new G4QPDGCode(PDG1);
00054   theMinMass =firstPDG->GetMass();
00055   aVecOfSecHadrons.push_back(firstPDG);
00056   G4QPDGCode* secondPDG = new G4QPDGCode(PDG2);
00057   theMinMass+=secondPDG->GetMass();
00058   aVecOfSecHadrons.push_back(secondPDG);
00059   if(PDG3) 
00060   {
00061     G4QPDGCode* thirdPDG = new G4QPDGCode(PDG3);
00062     theMinMass+=thirdPDG->GetMass();
00063     aVecOfSecHadrons.push_back(thirdPDG);
00064   }
00065 #ifdef debug
00066   G4cout<<"G4QDecayChan is defined with pL="<<pLev<<",1="<<PDG1<<",2="<<PDG2<<",3="<<PDG3
00067       <<",m1="<<firstPDG->GetMass()<<",m2="<<secondPDG->GetMass()<<",minM="<<theMinMass<<G4endl;
00068 #endif
00069 }

G4QDecayChan::G4QDecayChan ( const G4QDecayChan right  ) 

Definition at line 71 of file G4QDecayChan.cc.

References aDecayChanLimit, aVecOfSecHadrons, and theMinMass.

00072 {
00073   aDecayChanLimit     = right.aDecayChanLimit;
00074   theMinMass          = right.theMinMass;
00075   //aVecOfSecHadrons (Vector)
00076   G4int nSH           = right.aVecOfSecHadrons.size();
00077   if(nSH) for(G4int ih=0; ih<nSH; ih++)
00078   {
00079     G4QPDGCode* curPC = new G4QPDGCode(right.aVecOfSecHadrons[ih]);
00080     aVecOfSecHadrons.push_back(curPC);
00081   }
00082 }

G4QDecayChan::G4QDecayChan ( G4QDecayChan right  ) 

Definition at line 84 of file G4QDecayChan.cc.

References aDecayChanLimit, aVecOfSecHadrons, and theMinMass.

00085 {
00086   aDecayChanLimit     = right->aDecayChanLimit;
00087   theMinMass          = right->theMinMass;
00088   //aVecOfSecHadrons (Vector)
00089   G4int nSH           = right->aVecOfSecHadrons.size();
00090   if(nSH) for(G4int ih=0; ih<nSH; ih++)
00091   {
00092     G4QPDGCode* curPC = new G4QPDGCode(right->aVecOfSecHadrons[ih]);
00093     aVecOfSecHadrons.push_back(curPC);
00094   }
00095 }

G4QDecayChan::~G4QDecayChan (  ) 

Definition at line 97 of file G4QDecayChan.cc.

00098 {
00099   G4int nSH=aVecOfSecHadrons.size();
00100   //G4cout<<"G4QDecayChan::Destructor: Before nSH="<<nSH<<G4endl; // TMP
00101   if(nSH)std::for_each(aVecOfSecHadrons.begin(), aVecOfSecHadrons.end(), DeleteQPDGCode());
00102   //G4cout<<"G4QDecayChan::Destructor: After"<<G4endl; // TMP
00103   aVecOfSecHadrons.clear();
00104 }


Member Function Documentation

G4double G4QDecayChan::GetDecayChanLimit (  )  const [inline]

Definition at line 92 of file G4QDecayChan.hh.

Referenced by operator<<().

00092 {return aDecayChanLimit;}

G4double G4QDecayChan::GetMinMass (  )  const [inline]

Definition at line 93 of file G4QDecayChan.hh.

00093 {return theMinMass;}

G4QPDGCodeVector G4QDecayChan::GetVecOfSecHadrons (  )  [inline]

Definition at line 94 of file G4QDecayChan.hh.

Referenced by operator<<().

00094 {return aVecOfSecHadrons;}

G4bool G4QDecayChan::operator!= ( const G4QDecayChan rhs  )  const [inline]

Definition at line 90 of file G4QDecayChan.hh.

00090 {return this!=&rhs;}

const G4QDecayChan & G4QDecayChan::operator= ( const G4QDecayChan right  ) 

Definition at line 107 of file G4QDecayChan.cc.

References aDecayChanLimit, aVecOfSecHadrons, and theMinMass.

00108 {
00109   if(this != &right)                          // Beware of self assignment
00110   {
00111     aDecayChanLimit     = right.aDecayChanLimit;
00112     theMinMass          = right.theMinMass;
00113     //aVecOfSecHadrons (Vector)
00114     G4int iSH           = aVecOfSecHadrons.size();
00115     if(iSH) for(G4int ii=0; ii<iSH; ii++) delete aVecOfSecHadrons[ii];
00116     aVecOfSecHadrons.clear();
00117     G4int nSH           = right.aVecOfSecHadrons.size();
00118     if(nSH) for(G4int ih=0; ih<nSH; ih++)
00119     {
00120       G4QPDGCode* curPC = new G4QPDGCode(right.aVecOfSecHadrons[ih]);
00121       aVecOfSecHadrons.push_back(curPC);
00122     }
00123   }
00124   return *this;
00125 }

G4bool G4QDecayChan::operator== ( const G4QDecayChan rhs  )  const [inline]

Definition at line 89 of file G4QDecayChan.hh.

00089 {return this==&rhs;}

void G4QDecayChan::SetDecayChanLimit ( G4double  newDecChanLim  )  [inline]

Definition at line 96 of file G4QDecayChan.hh.

00096 {aDecayChanLimit=DCL;}

void G4QDecayChan::SetMinMass ( G4double  newMinMass  )  [inline]

Definition at line 97 of file G4QDecayChan.hh.

00097 {theMinMass=minMass;}

void G4QDecayChan::SetVecOfSecHadrons ( G4QPDGCodeVector  hadV  )  [inline]

Definition at line 98 of file G4QDecayChan.hh.

00098 {aVecOfSecHadrons=VSH;}


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:05 2013 for Geant4 by  doxygen 1.4.7