CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/SimG4Core/CustomPhysics/interface/CustomParticle.h

Go to the documentation of this file.
00001 #ifndef CustomParticle_h
00002 #define CustomParticle_h 1
00003 
00004 #include "G4ParticleDefinition.hh"
00005 #include "globals.hh"
00006 
00007 // ######################################################################
00008 // ###                          CustomParticle                                ###
00009 // ######################################################################
00010 class CustomParticleFactory;
00011 
00012 class CustomParticle : public G4ParticleDefinition
00013 {
00014  friend class CustomParticleFactory;
00015  private:
00016    CustomParticle(
00017        const G4String&     aName,        G4double            mass,
00018        G4double            width,        G4double            charge,   
00019        G4int               iSpin,        G4int               iParity,    
00020        G4int               iConjugation, G4int               iIsospin,   
00021        G4int               iIsospin3,    G4int               gParity,
00022        const G4String&     pType,        G4int               lepton,      
00023        G4int               baryon,       G4int               encoding,
00024        G4bool              stable,       G4double            lifetime,
00025        G4DecayTable        *decaytable
00026    );
00027    G4ParticleDefinition* m_cloud;
00028    G4ParticleDefinition* m_spec;
00029  public:
00030    void SetCloud(G4ParticleDefinition* theCloud);
00031    void SetSpectator(G4ParticleDefinition* theSpectator);
00032    G4ParticleDefinition* GetCloud();
00033    G4ParticleDefinition* GetSpectator();
00034    virtual ~CustomParticle() {}
00035 };
00036 
00037 inline void CustomParticle::SetCloud(G4ParticleDefinition* theCloud){ m_cloud = theCloud; }
00038 inline G4ParticleDefinition* CustomParticle::GetCloud(){ return m_cloud; }
00039 inline void CustomParticle::SetSpectator(G4ParticleDefinition* theSpectator){ m_spec = theSpectator; }
00040 inline G4ParticleDefinition* CustomParticle::GetSpectator(){ return m_spec; }
00041 
00042 #endif