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
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