source: trunk/examples/advanced/medical_linac/include/ML2SDWithVoxels.hh @ 1321

Last change on this file since 1321 was 1230, checked in by garnier, 14 years ago

update to geant4.9.3

  • Property svn:executable set to *
File size: 3.3 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 CCML2SDWithVoxelsH
41#define CCML2SDWithVoxelsH
42
43#include "G4VSensitiveDetector.hh"
44#include "G4TouchableHistory.hh"
45#include "G4VTouchable.hh"
46#include "ML2SinputData.hh"
47
48class CML2ReadOutGeometryVoxels;
49
50
51class CML2SDWithVoxels : public G4VSensitiveDetector
52{
53public:
54        CML2SDWithVoxels(G4String name, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG, G4ThreeVector halfSize, G4int NumberOfVoxelsAlongX, G4int NumberOfVoxelsAlongY, G4int NumberOfVoxelsAlongZ);
55        ~CML2SDWithVoxels(void);
56        G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist);
57        inline void Initialize(G4HCofThisEvent *){};
58        inline void EndOfEvent(G4HCofThisEvent*){};
59        G4int getTotalNumberOfEvents(){return this->nTotalEvents;};
60        inline void setActive(G4bool bActive){this->bActive=bActive;};
61
62private:
63        void saveDataInVoxels();
64        void saveHeaderDataInVoxels();
65
66        G4ThreeVector halfSize;
67        G4ThreeVector pos;
68        G4double halfXVoxelDimensionX, halfXVoxelDimensionY, halfXVoxelDimensionZ;
69        G4int NumberOfVoxelsAlongX, NumberOfVoxelsAlongY, NumberOfVoxelsAlongZ;
70        Svoxel ***voxels;
71        G4String fullOutFileData;
72        G4int nTotalEvents, nParticle, nParticleValatile, saving_in_ROG_Voxels_every_events;
73        G4bool bActive, bSaveROG;
74        G4double voxelMass, density, voxelVolume;
75       
76};
77
78
79
80#endif
Note: See TracBrowser for help on using the repository browser.