// $Id$ // Category: physics // // Author: I. Hrivnacova // // Class TG4PhysicsConstructorIon // ----------------------------- // Constructor of physics for ions. // According to ExN04IonPhysics.hh, GEANT4 tag Name: geant4-03-02 #ifndef TG4_PHYSICS_CONSTRUCTOR_ION_H #define TG4_PHYSICS_CONSTRUCTOR_ION_H #include #include #include #include #include #include #include #include #include #include #include #include class TG4PhysicsConstructorIon: public G4VPhysicsConstructor { public: TG4PhysicsConstructorIon(const G4String& name = "Ion"); // --> protected // TG4PhysicsConstructorIon(const TG4PhysicsConstructorIon& right); virtual ~TG4PhysicsConstructorIon(); protected: TG4PhysicsConstructorIon(const TG4PhysicsConstructorIon& right); // operators TG4PhysicsConstructorIon& operator=(const TG4PhysicsConstructorIon& right); // methods // construct particle and physics virtual void ConstructParticle(); virtual void ConstructProcess(); // data members // Elastic Process G4HadronElasticProcess fElasticProcess; //elastic process G4LElastic* fElasticModel; //elastic model // Generic Ion physics G4MultipleScattering fIonMultipleScattering; //ion multiple scattering G4hIonisation fIonIonisation; //ion ionisation // Deuteron physics G4MultipleScattering fDeuteronMultipleScattering; //D msc G4hIonisation fDeuteronIonisation;//D ionisation G4DeuteronInelasticProcess fDeuteronProcess; //D inelastic process G4LEDeuteronInelastic* fDeuteronModel; //D LE inelastic model // Triton physics G4MultipleScattering fTritonMultipleScattering; //T msc G4hIonisation fTritonIonisation; //T ionisation G4TritonInelasticProcess fTritonProcess; //T inelastic process G4LETritonInelastic* fTritonModel; //T LE inelastic model // Alpha physics G4MultipleScattering fAlphaMultipleScattering; //alpha msc G4hIonisation fAlphaIonisation; //alpha ionisation G4AlphaInelasticProcess fAlphaProcess; //alpha inelastic process G4LEAlphaInelastic* fAlphaModel; //alpha LE inelastic model // He3 physics G4MultipleScattering fHe3MultipleScattering; //He3 msc G4hIonisation fHe3Ionisation; //He3 ionisation private: // methods void ConstructProcessForGenericIon(); void ConstructProcessForDeuteron(); void ConstructProcessForTriton(); void ConstructProcessForAlpha(); void ConstructProcessForHe3(); }; #endif //TG4_PHYSICS_CONSTRUCTOR_ION_H