source: trunk/examples/advanced/microbeam/include/MicrobeamRunAction.hh @ 893

Last change on this file since 893 was 807, checked in by garnier, 16 years ago

update

  • Property svn:executable set to *
File size: 3.8 KB
Line 
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// -------------------------------------------------------------------
27// $Id: MicrobeamRunAction.hh,v 1.5 2006/06/29 16:05:13 gunter Exp $
28// -------------------------------------------------------------------
29
30#ifndef MicrobeamRunAction_h
31#define MicrobeamRunAction_h 1
32
33#include "G4UserRunAction.hh"
34#include "G4ThreeVector.hh"
35
36#include "MicrobeamDetectorConstruction.hh"
37
38//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
39
40class G4Run;
41
42class MicrobeamRunAction : public G4UserRunAction
43{
44public:
45 
46  MicrobeamRunAction(MicrobeamDetectorConstruction*);
47  ~MicrobeamRunAction();
48
49  void BeginOfRunAction(const G4Run*);
50  void EndOfRunAction(const G4Run*);
51   
52  void  SetRndmFreq(G4int   val)  {saveRndm = val;}
53  G4int GetRndmFreq()             {return saveRndm;}
54
55  void AddDoseN(G4float dose){ DoseN += dose;}
56  void SetDoseN(G4float dose){ DoseN = dose;}
57  G4float GetDoseN(){return DoseN;}
58
59  void AddDoseC(G4float dose){ DoseC += dose;}
60  void SetDoseC(G4float dose){ DoseC = dose;}
61  G4float GetDoseC(){return DoseC;}
62
63  G4int GetNumEvent(){return numEvent;}
64  void SetNumEvent(G4int i){numEvent = i;}
65
66  G4int GetNbOfHitsGas(){return nbOfHitsGas;}
67  void AddNbOfHitsGas(){nbOfHitsGas = nbOfHitsGas+1;}
68
69  void SetMassNucleus(G4float mN){ massNucleus = mN;}
70  G4float GetMassNucleus(){return massNucleus;}
71
72  void SetMassCytoplasm(G4float mC){ massCytoplasm = mC;}
73  G4float GetMassCytoplasm(){return massCytoplasm;}
74
75  void AddDoseBox(G4int i, G4float x){ dose3DDose[i] +=x;}
76  G4float GetDoseBox(G4int i){ return dose3DDose[i];}
77 
78  G4ThreeVector GetVectCell(G4int i) {return mapVoxels[i];}
79
80private:
81
82  MicrobeamDetectorConstruction* Detector;   
83  MicrobeamPhantomConfiguration myMicrobeamPhantomConfiguration; 
84
85  G4int saveRndm;
86  G4int numEvent;
87  G4int nbOfPixels;
88  G4int nbOfHitsGas;
89  G4float SP;
90  G4float R;
91  G4float RnElec;
92  G4float RcElec;
93  G4float DoseN;
94  G4float DoseC;
95  G4float DoseNElec;
96  G4float DoseCElec;
97  G4float massPhantom;
98  G4float massCytoplasm;
99  G4float massNucleus;
100  G4bool boolSP;
101 
102  G4int * x3DDose;
103  G4int * y3DDose;
104  G4int * z3DDose;
105  G4float * dose3DDose;
106  G4ThreeVector * mapVoxels;
107
108};
109
110#endif
Note: See TracBrowser for help on using the repository browser.