source: trunk/examples/advanced/medical_linac/include/ML2SDWithParticle.hh@ 1237

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

update to geant4.9.3

  • Property svn:executable set to *
File size: 3.6 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 CML2SensitiveDetectorParticleH
41#define CML2SensitiveDetectorParticleH
42
43#include "G4VSensitiveDetector.hh"
44#include "G4TouchableHistory.hh"
45#include "G4VTouchable.hh"
46#include "ML2SinputData.hh"
47
48class CML2ReadOutGeometryVoxels;
49
50class CML2SDWithParticle : public G4VSensitiveDetector
51{
52public:
53 CML2SDWithParticle();
54 CML2SDWithParticle(G4int idType, G4int max_N_particles_in_PhSp_File, G4int seed, G4int nMaxParticlesInRamPhaseSpace, G4String name, G4String PhaseSpaceOutFile, G4bool bSavePhaseSpace, G4bool bStopAtVolatilePhaseSpace, SPrimaryParticle *primaryParticleData);
55 ~CML2SDWithParticle(void);
56 G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist);
57// inline void setbStopAtPhaseSpace(G4bool bStopAtPhaseSpace){this->bStopAtPhaseSpace=bStopAtPhaseSpace;};
58 //inline void Initialize(G4HCofThisEvent *){};
59 //inline void EndOfEvent(G4HCofThisEvent*){};
60 G4int getTotalNumberOfParticles(){return this->nTotalParticles;};
61 inline CML2SDWithParticle* getCML2SensitiveDetectorParticle(){return this;};
62 inline Sparticle getParticle(int i){return this->particles[i];};
63 inline void setActive(G4bool bActive){this->bActive=bActive;};
64 inline bool getBContinueRun(){return this->bContinueRun;};
65private:
66 void saveDataParticles(G4int nParticle);
67 void saveHeaderParticles();
68
69 G4ThreeVector halfSize;
70 G4ThreeVector pos;
71 SPrimaryParticle *primaryParticleData;
72 Sparticle *particles;
73 G4String fullOutFileData;
74 G4int nTotalParticles, nParticle;
75 G4int idType, nMaxParticlesInRamPhaseSpace, max_N_particles_in_PhSp_File;
76 G4bool bStopAtPhaseSpace, bSavePhaseSpace, bActive, bContinueRun;
77};
78
79#endif
Note: See TracBrowser for help on using the repository browser.