Geant4  10.02.p03
G4DNADamages Class Reference

#include <G4DNADamages.hh>

Collaboration diagram for G4DNADamages:

Public Member Functions

virtual void Reset ()
 
virtual void AddIndirectDamage (const G4String &baseName, const G4Molecule *molecule, const G4ThreeVector &position, double time)
 
const std::vector< G4DNAIndirectHit * > * GetIndirectHits ()
 
virtual int GetNIndirectHits () const
 
virtual void SetOnlyCountDamages (bool flag=true)
 
virtual bool OnlyCountDamages () const
 

Static Public Member Functions

static G4DNADamagesInstance ()
 
static void DeleteInstance ()
 

Protected Member Functions

 G4DNADamages ()
 
virtual ~G4DNADamages ()
 

Protected Attributes

G4bool fJustCountDamage
 
G4int fNIndirectDamages
 
std::vector< G4DNAIndirectHit * > fIndirectHits
 
std::map< G4Molecule, const G4Molecule * > fMolMap
 

Static Protected Attributes

static G4ThreadLocal G4DNADamagesfpInstance
 

Detailed Description

Definition at line 80 of file G4DNADamages.hh.

Constructor & Destructor Documentation

◆ G4DNADamages()

G4DNADamages::G4DNADamages ( )
protected

Definition at line 64 of file G4DNADamages.cc.

65 {
66  fJustCountDamage = false;
68  fpInstance = this;
69 }
static G4ThreadLocal G4DNADamages * fpInstance
G4bool fJustCountDamage
G4int fNIndirectDamages

◆ ~G4DNADamages()

G4DNADamages::~G4DNADamages ( )
protectedvirtual

Definition at line 71 of file G4DNADamages.cc.

72 {
73  for (int i = 0; i < (int) fIndirectHits.size(); i++)
74  {
75  if (fIndirectHits[i]) delete fIndirectHits[i];
76  }
77  fIndirectHits.clear();
78 }
std::vector< G4DNAIndirectHit * > fIndirectHits

Member Function Documentation

◆ AddIndirectDamage()

void G4DNADamages::AddIndirectDamage ( const G4String baseName,
const G4Molecule molecule,
const G4ThreeVector position,
double  time 
)
virtual

Definition at line 96 of file G4DNADamages.cc.

100 {
101  if (fJustCountDamage)
102  {
104  return;
105  }
106 
107  G4DNAIndirectHit* indirectHit = 0;
108  std::map<G4Molecule, const G4Molecule*>::iterator it = fMolMap.find(
109  *molecule);
110 
111  if (it == fMolMap.end())
112  {
113  G4Molecule* mol(0);
114  fMolMap[*molecule] = (mol = new G4Molecule(*molecule));
115  indirectHit = new G4DNAIndirectHit(baseName, mol, position, time);
116  }
117  else
118  {
119  indirectHit = new G4DNAIndirectHit(baseName, it->second, position, time);
120  }
121  fIndirectHits.push_back(indirectHit);
122 }
std::map< G4Molecule, const G4Molecule * > fMolMap
std::vector< G4DNAIndirectHit * > fIndirectHits
G4bool fJustCountDamage
G4int fNIndirectDamages
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeleteInstance()

void G4DNADamages::DeleteInstance ( )
static

Definition at line 80 of file G4DNADamages.cc.

81 {
82  if (fpInstance) delete fpInstance;
83  fpInstance = 0;
84 }
static G4ThreadLocal G4DNADamages * fpInstance

◆ GetIndirectHits()

const std::vector< G4DNAIndirectHit * > * G4DNADamages::GetIndirectHits ( )
inline

Definition at line 122 of file G4DNADamages.hh.

123 {
124  return &fIndirectHits;
125 }
std::vector< G4DNAIndirectHit * > fIndirectHits

◆ GetNIndirectHits()

virtual int G4DNADamages::GetNIndirectHits ( ) const
inlinevirtual

Definition at line 93 of file G4DNADamages.hh.

94  {
96  return fNIndirectDamages;
97 
98  return fIndirectHits.size();
99  }
std::vector< G4DNAIndirectHit * > fIndirectHits
G4bool fJustCountDamage
G4int fNIndirectDamages

◆ Instance()

G4DNADamages * G4DNADamages::Instance ( void  )
static

Definition at line 57 of file G4DNADamages.cc.

58 {
59  if (!fpInstance) new G4DNADamages();
60 
61  return fpInstance;
62 }
static G4ThreadLocal G4DNADamages * fpInstance
Here is the caller graph for this function:

◆ OnlyCountDamages()

virtual bool G4DNADamages::OnlyCountDamages ( ) const
inlinevirtual

Definition at line 106 of file G4DNADamages.hh.

107  {
108  return fJustCountDamage;
109  }
G4bool fJustCountDamage

◆ Reset()

void G4DNADamages::Reset ( )
virtual

Definition at line 86 of file G4DNADamages.cc.

87 {
89  for (int i = 0; i < (int) fIndirectHits.size(); i++)
90  {
91  if (fIndirectHits[i]) delete fIndirectHits[i];
92  }
93  fIndirectHits.clear();
94 }
std::vector< G4DNAIndirectHit * > fIndirectHits
G4int fNIndirectDamages

◆ SetOnlyCountDamages()

virtual void G4DNADamages::SetOnlyCountDamages ( bool  flag = true)
inlinevirtual

Definition at line 101 of file G4DNADamages.hh.

102  {
103  fJustCountDamage = flag;
104  }
G4bool fJustCountDamage

Member Data Documentation

◆ fIndirectHits

std::vector<G4DNAIndirectHit*> G4DNADamages::fIndirectHits
protected

Definition at line 118 of file G4DNADamages.hh.

◆ fJustCountDamage

G4bool G4DNADamages::fJustCountDamage
protected

Definition at line 116 of file G4DNADamages.hh.

◆ fMolMap

std::map<G4Molecule, const G4Molecule*> G4DNADamages::fMolMap
protected

Definition at line 119 of file G4DNADamages.hh.

◆ fNIndirectDamages

G4int G4DNADamages::fNIndirectDamages
protected

Definition at line 117 of file G4DNADamages.hh.

◆ fpInstance

G4ThreadLocal G4DNADamages * G4DNADamages::fpInstance
staticprotected

Definition at line 113 of file G4DNADamages.hh.


The documentation for this class was generated from the following files: