CLHEP/StdHepC++/StdParticle.hh

// $Id: StdParticle.hh,v 1.2 2000/04/25 14:26:21 evc Exp $
// -*- C++ -*-
//
// ----------------------------------------------------------------------
// StdParticle.hh
// ----------------------------------------------------------------------
#ifndef STDPARTICLE_HH
#define STDPARTICLE_HH

#include "CLHEP/config/CLHEP.h"
#include "CLHEP/Vector/ThreeVector.h"
#include "CLHEP/Vector/LorentzVector.h"

HEP_BEGIN_NAMESPACE(StdHep)

class Particle {

public:

  // ---  birth/death:
  //
  Particle( int ParticleID, int StatusCode, int Mother, int SecondMother,
          int BeginDaughters, int EndDaughters, int Color, int CollisionNumber,
	    HepLorentzVector Momentum, double Mass, double Helicity,
	    HepLorentzVector CreationVertex, HepLorentzVector DecayVertex );	
  Particle( );
  Particle( const Particle & orig );
  Particle& operator=( const Particle & );
  ~Particle();

  // ---  accessors:
  //
  int               ParticleID()     const  { return itsParticleID; }
  int               StatusCode()     const  { return itsStatusCode; }
  int               Mother()         const  { return itsMother; }
  int               SecondMother()   const  { return itsSecondMother; }
  int               BeginDaughters() const  { return itsBeginDaughters; }
  int               EndDaughters()   const  { return itsEndDaughters; }
  int               Color()          const  { return itsColor; }
  int               CollisionNumber() const { return itsCollisionNumber; }
  HepLorentzVector  Momentum()       const  { return itsMomentum; }
  double            Mass()           const  { return itsMass; }
  double            Helicity()       const  { return itsHelicity; }
  HepLorentzVector  CreationVertex() const  { return itsCreationVertex; }	
  HepLorentzVector  DecayVertex()    const  { return itsDecayVertex; }	

  // ---  mutators:
  //
  void  setParticleID     ( int pid )     { itsParticleID = pid; }
  void  setStatusCode     ( int status )  { itsStatusCode = status; }
  void  setMother         ( int mth )     { itsMother = mth; }
  void  setSecondMother   ( int mth2 )    { itsSecondMother = mth2; }
  void  setBeginDaughters ( int dtr )     { itsBeginDaughters = dtr; }
  void  setEndDaughters   ( int dtr2 )    { itsEndDaughters = dtr2; }
  void  setColor          ( int clr )     { itsColor = clr; }
  void  setCollisionNumber ( int coll )   { itsCollisionNumber = coll; }
  void  setMomentum       ( HepDouble px, HepDouble py, HepDouble pz, HepDouble E );
  void  setMass           ( double mass ) {  itsMass = mass; }
  void  setHelicity       ( double helicity ) {  itsHelicity = helicity; }
  void  setCreationVertex ( HepDouble cx, HepDouble cy, HepDouble cz, HepDouble ct );
  void  setDecayVertex    ( HepDouble dx, HepDouble dy, HepDouble dz, HepDouble dt );

private:

  int itsParticleID;

  int itsStatusCode;

  int itsMother;
  int itsSecondMother;
  int itsBeginDaughters;
  int itsEndDaughters; 
  
  int itsColor;
  int itsCollisionNumber;
  
  HepLorentzVector itsMomentum;
  double           itsMass;	// (in GeV/c**2)
  double           itsHelicity;
  
  HepLorentzVector itsCreationVertex; 	
  HepLorentzVector itsDecayVertex; 	

};	// Particle

HEP_END_NAMESPACE(StdHep)
#endif // STDPARTICLE_HH

Generated by GNU enscript 1.6.1.