source: trunk/examples/advanced/medical_linac/include/ML2SDWithParticle.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.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.