Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
processes
electromagnetic
dna
utils
include
G4DNAChemistryManager.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: G4DNAChemistryManager.hh 64057 2012-10-30 15:04:49Z gcosmo $
27
//
28
// Author: Mathieu Karamitros (kara@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
39
#ifndef G4DNACHEMISTRYMANAGER_HH
40
#define G4DNACHEMISTRYMANAGER_HH
41
42
#include "
globals.hh
"
43
#include "
G4ThreeVector.hh
"
44
#include <fstream>
45
#include <memory>
46
47
class
G4Track
;
48
class
G4DNAWaterExcitationStructure
;
49
class
G4DNAWaterIonisationStructure
;
50
class
G4Molecule
;
51
52
enum
ElectronicModification
53
{
54
eIonizedMolecule
,
55
eExcitedMolecule
,
56
eDissociativeAttachment
57
};
58
71
class
G4DNAChemistryManager
72
{
73
friend
class
std::auto_ptr<
G4DNAChemistryManager
>;
74
~
G4DNAChemistryManager
();
75
76
public
:
77
static
G4DNAChemistryManager
*
Instance
();
78
82
static
void
DeleteInstance
();
83
89
void
WriteInto
(
const
G4String
&, std::ios_base::openmode mode = std::ios_base::out);
90
93
void
CloseFile
();
94
inline
G4bool
IsChemistryActived
();
95
inline
void
SetChemistryActivation
(
G4bool
);
96
104
void
CreateWaterMolecule
(
ElectronicModification
,
105
G4int
/*electronicLevel*/
,
106
const
G4Track
*
/*theIncomingTrack*/
);
107
113
void
CreateSolvatedElectron
(
const
G4Track
*
/*theIncomingTrack*/
,
114
G4ThreeVector
* finalPosition = 0);
115
125
void
PushMolecule
(
G4Molecule
*& molecule,
126
double
time,
const
G4ThreeVector
&
position
,
int
parentID);
127
136
void
PushMoleculeAtParentTimeAndPlace
(
G4Molecule
*& molecule,
137
const
G4Track
*
/*theIncomingTrack*/
);
138
protected
:
139
G4DNAWaterExcitationStructure
*
GetExcitationLevel
();
140
G4DNAWaterIonisationStructure
*
GetIonisationLevel
();
141
142
private
:
143
G4DNAChemistryManager
();
144
static
std::auto_ptr<G4DNAChemistryManager> fInstance;
145
bool
fActiveChemistry;
146
147
std::ofstream fOutput;
148
G4bool
fWriteFile;
149
150
G4DNAWaterExcitationStructure
* fExcitationLevel;
151
G4DNAWaterIonisationStructure
* fIonisationLevel;
152
};
153
154
inline
G4bool
G4DNAChemistryManager::IsChemistryActived
()
155
{
156
return
fActiveChemistry;
157
}
158
159
inline
void
G4DNAChemistryManager::SetChemistryActivation
(
G4bool
flag)
160
{
161
fActiveChemistry = flag;
162
}
163
164
#endif // G4DNACHEMISTRYMANAGER_HH
Generated on Sat May 25 2013 14:33:31 for Geant4 by
1.8.4