source: trunk/examples/advanced/medical_linac/include/ML2ExpVoxels.hh@ 1254

Last change on this file since 1254 was 1230, checked in by garnier, 16 years ago

update to geant4.9.3

  • Property svn:executable set to *
File size: 3.1 KB
Line 
1//
2// ********************************************************************
3// * DISCLAIMER *
4// * *
5// * The following disclaimer summarizes all the specific disclaimers *
6// * of contributors to this software. The specific disclaimers,which *
7// * govern, are listed with their locations in: *
8// * http://cern.ch/geant4/license *
9// * *
10// * Neither the authors of this software system, nor their employing *
11// * institutes,nor the agencies providing financial support for this *
12// * work make any representation or warranty, express or implied, *
13// * regarding this software system or assume any liability for its *
14// * use. *
15// * *
16// * This code implementation is the intellectual property of the *
17// * GEANT4 collaboration. *
18// * By copying, distributing or modifying the Program (or any work *
19// * based on the Program) you indicate your acceptance of this *
20// * statement, and all its terms. *
21// ********************************************************************
22//
23// The code was written by :
24// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it
25// *Barbara Caccia barbara.caccia@iss.it
26// with the support of Pablo Cirrone (LNS, INFN Catania Italy)
27//
28// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy
29// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy
30// Viale Regina Elena 299, 00161 Roma (Italy)
31// tel (39) 06 49902246
32// fax (39) 06 49387075
33//
34// more information:
35// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac
36//
37//*******************************************************//
38
39
40#ifndef CML2ReadOutGeometryVoxelsH
41#define CML2ReadOutGeometryVoxelsH
42
43#include "G4ThreeVector.hh"
44#include "ML2SinputData.hh"
45#include "G4Step.hh"
46
47class CML2ExpVoxels
48{
49public:
50 CML2ExpVoxels(G4bool bHasExperimentalData, G4int saving_in_Selected_Voxels_every_events, G4int seed, G4String FileExperimentalData);
51 ~CML2ExpVoxels(void);
52 void add(G4ThreeVector pos, G4double depEnergy, G4double density);
53
54 inline std::vector <Svoxel> getVoxels(){return this->voxels;}
55
56 G4int getMinNumberOfEvents();
57
58 G4bool loadData();
59private:
60 void saveHeader(G4String fullOutFileName);
61 void saveResults(G4String fullOutFileName, std::vector <Svoxel> voxels);
62 void calculateNormalizedEd(std::vector <Svoxel> &voxels);
63 std::vector <Svoxel> voxels;
64 G4ThreeVector minZone, maxZone;
65 G4int nCurves;
66 G4int *startCurve, *stopCurve;
67 G4double *chi2Factor;
68 G4String headerText1, headerText2, fullFileIn, fullFileOut;
69 G4String seedName, loopName;
70 SGeneralData *generalData;
71 G4int nParticle;
72 G4int nTotalEvents, saving_in_Selected_Voxels_every_events;
73 G4bool bHasExperimentalData;
74};
75
76#endif
77
Note: See TracBrowser for help on using the repository browser.