CMCParticle.h
//-----------------------------------------------------------------------------
// $Header: /tmp_mnt/asis/offline/ceres/cool/project/RCS/CMCParticle.h,v 2.1 1996/10/04 08:59:20 voigt Exp $
//
// COOL Program Library
// Copyright (C) CERES collaboration, 1996
//
// Declaration of class CMCParticle
//
//-----------------------------------------------------------------------------
#ifndef CMCPARTICLE_H
#define CMCPARTICLE_H
#include "cool.h"
#include "C4Momentum.h"
class CMCParticle {
public:
enum CMCGeantId {
undefined,
photon, positron, electron, neutrino,
muPlus, muMinus,
piNull, piPlus, piMinus,
kNullLong, kPlus, kMinus,
neutron, proton, antiProton,
kNullShort, eta, lambda,
sigmaPlus, sigmaNull, sigmaMinus,
xiNull, xiMinus, omegaMinus,
antiNeutron, antiLambda,
antiSigmaMinus, antiSigmaNull, antiSigmaPlus,
antiXiNull, antiXiPlus, antiOmegaPlus,
tauPlus, tauMinus,
dPlus, dMinus, dNull, antiDNull,
fPlus, fMinus,
lambdaCPlus,
wPlus, wMinus, zNull,
deuteron, tritium, alpha,
geantino
};
public:
CMCParticle();
~CMCParticle();
// use default copy/assignment constructors
public:
inline CMCGeantId getGeantId () const { return geantId; }
inline C4Momentum& get4Momentum () { return p; }
inline void setGeantId (CMCGeantId id) { geantId = id; }
inline void set4Momentum (const C4Momentum& aPart) { p = aPart; }
protected:
CMCGeantId geantId;
C4Momentum p;
};
#endif /* CMCPARTICLE_H */