Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4VITModel.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// $Id: G4VITModel.hh 64057 2012-10-30 15:04:49Z gcosmo $
27//
28// Author: Mathieu Karamitros (kara (AT) cenbg . in2p3 . fr)
29//
30// WARNING : This class is released as a prototype.
31// It might strongly evolve or even disapear in the next releases.
32//
33// History:
34// -----------
35// 10 Oct 2011 M.Karamitros created
36//
37// -------------------------------------------------------------------
38#ifndef G4VITMODEL_HH
39#define G4VITMODEL_HH
40
41#include "AddClone_def.hh"
42#include "G4VITTimeStepper.hh"
44#include "G4ITReactionTable.hh"
45
46/**
47 * Define what to do before stepping and after stepping.
48 * The concrete implementation of G4VITModel defines the interaction
49 * between two G4IT types. The type might be just equal like :
50 * Molecule + Molecule, or different : Molecule + Atom.
51 */
52
54{
55public:
56 /** Default constructor */
57 G4VITModel(const G4String& aName = "NoName");
58 /** Default destructor */
59 virtual ~G4VITModel();
60
61 /* Macro define in AddClone_def*/
63
64 void IsApplicable(G4ITType& type1, G4ITType& type2) ;
65 void virtual PrintInfo(){;}
66
67 virtual void Initialize();
68
69 inline void SetTimeStepper(G4VITTimeStepper* timeStepper);
70 inline void SetReactionProcess(G4VITReactionProcess* reactionProcess);
71
73 inline const G4String& GetName();
74
77 inline const G4ITReactionTable* GetReactionTable();
78
79protected:
80
82
85
87
90
91protected :
92 /** Copy constructor
93 * \param other Object to copy from
94 */
95 G4VITModel(const G4VITModel& other);
96 /** Assignment operator
97 * \param other Object to assign from
98 * \return A reference to this
99 */
100 G4VITModel& operator=(const G4VITModel& other);
101};
102
104{
105 fpReactionTable = table;
106}
107
109{
110 return fpReactionTable ;
111}
112
114{
115 fpTimeStepper = timeStepper ;
116}
117
119{
120 fpReactionProcess = reactionProcess ;
121}
122
124{
125 return fpTimeStepper;
126}
127
129{
130 return fpReactionProcess ;
131}
132
134{
135 return fName;
136}
137
138#endif // G4VITMODEL_HH
#define G4IT_TO_BE_CLONED(parent_class)
Definition: AddClone_def.hh:42
G4String fName
Definition: G4VITModel.hh:81
const G4String & GetName()
Definition: G4VITModel.hh:133
G4ITType fType2
Definition: G4VITModel.hh:89
G4VITTimeStepper * GetTimeStepper()
Definition: G4VITModel.hh:123
G4VITModel & operator=(const G4VITModel &other)
Definition: G4VITModel.cc:71
void SetTimeStepper(G4VITTimeStepper *timeStepper)
Definition: G4VITModel.hh:113
virtual void Initialize()
Definition: G4VITModel.cc:95
virtual ~G4VITModel()
Definition: G4VITModel.cc:50
void IsApplicable(G4ITType &type1, G4ITType &type2)
Definition: G4VITModel.cc:88
virtual void PrintInfo()
Definition: G4VITModel.hh:65
G4ITType fType1
Definition: G4VITModel.hh:88
G4VITTimeStepper * fpTimeStepper
Definition: G4VITModel.hh:83
G4VITReactionProcess * GetReactionProcess()
Definition: G4VITModel.hh:128
void SetReactionTable(G4ITReactionTable *)
Definition: G4VITModel.hh:103
const G4ITReactionTable * GetReactionTable()
Definition: G4VITModel.hh:108
void SetReactionProcess(G4VITReactionProcess *reactionProcess)
Definition: G4VITModel.hh:118
const G4ITReactionTable * fpReactionTable
Definition: G4VITModel.hh:86
G4VITReactionProcess * fpReactionProcess
Definition: G4VITModel.hh:84