source: trunk/examples/extended/optical/LXe/include/LXeUserEventInformation.hh @ 1009

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

update

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#include "G4VUserEventInformation.hh"
27#include "G4ThreeVector.hh"
28#include "globals.hh"
29
30#ifndef LXeUserEventInformation_h
31#define LXeUserEventInformation_h 1
32
33class LXeUserEventInformation : public G4VUserEventInformation
34{
35public:
36  LXeUserEventInformation();
37  ~LXeUserEventInformation();
38 
39  inline void Print()const{};
40
41  void IncPhotonCount_Scint(){photonCount_Scint++;}
42  void IncPhotonCount_Ceren(){photonCount_Ceren++;}
43  void IncEDep(G4double dep){totE+=dep;}
44  void IncAbsorption(){absorptionCount++;}
45  void IncBoundaryAbsorption(){boundaryAbsorptionCount++;}
46  void IncHitCount(G4int i=1){hitCount+=i;}
47
48  void SetEWeightPos(const G4ThreeVector& p){eWeightPos=p;}
49  void SetReconPos(const G4ThreeVector& p){reconPos=p;}
50  void SetConvPos(const G4ThreeVector& p){convPos=p;convPosSet=true;}
51  void SetPosMax(const G4ThreeVector& p,G4double edep){posMax=p;edepMax=edep;}
52
53  G4int GetPhotonCount_Scint()const {return photonCount_Scint;}
54  G4int GetPhotonCount_Ceren()const {return photonCount_Ceren;}
55  G4int GetHitCount()const {return hitCount;}
56  G4double GetEDep()const {return totE;}
57  G4int GetAbsorptionCount()const {return absorptionCount;}
58  G4int GetBoundaryAbsorptionCount() const {return boundaryAbsorptionCount;}
59 
60  G4ThreeVector GetEWeightPos(){return eWeightPos;}
61  G4ThreeVector GetReconPos(){return reconPos;}
62  G4ThreeVector GetConvPos(){return convPos;}
63  G4ThreeVector GetPosMax(){return posMax;}
64  G4double GetEDepMax(){return edepMax;}
65  G4double IsConvPosSet(){return convPosSet;}
66
67  //Gets the total photon count produced
68  G4int GetPhotonCount(){return photonCount_Scint+photonCount_Ceren;}
69
70  void IncPMTSAboveThreshold(){pmtsAboveThreshold++;}
71  G4int GetPMTSAboveThreshold(){return pmtsAboveThreshold;}
72
73private:
74
75  G4int hitCount;
76  G4int photonCount_Scint;
77  G4int photonCount_Ceren;
78  G4int absorptionCount;
79  G4int boundaryAbsorptionCount;
80
81  G4double totE; 
82
83  //These only have meaning if totE > 0
84  //If totE = 0 then these wont be set by EndOfEventAction
85  G4ThreeVector eWeightPos;
86  G4ThreeVector reconPos; //Also relies on hitCount>0
87  G4ThreeVector convPos;//true (initial) converstion position
88  G4bool convPosSet;
89  G4ThreeVector posMax;
90  G4double edepMax;
91
92  G4int pmtsAboveThreshold;
93
94};
95
96#endif
97
98
99
100
101
Note: See TracBrowser for help on using the repository browser.