Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
G4OpticalPhysics.hh
이 파일의 문서화 페이지로 가기
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 //
27 //
28 //---------------------------------------------------------------------------
29 //
30 // ClassName: G4OpticalPhysics
31 //
32 // Author: P.Gumplinger 30.09.2009
33 //
34 // Modified: P.Gumplinger 29.09.2011
35 // (based on code from I. Hrivnacova)
36 //
37 //---------------------------------------------------------------------------
38 //
39 // This class provides construction of default optical physics
40 //
41 
42 #ifndef G4OpticalPhysics_h
43 #define G4OpticalPhysics_h 1
44 
45 #include "globals.hh"
46 
47 #include "G4VPhysicsConstructor.hh"
48 
49 #include "G4OpticalProcessIndex.hh"
51 
52 #include "G4OpticalSurface.hh"
53 
54 #include <vector>
55 
56 class G4VProcess;
57 class G4EmSaturation;
58 
59 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
60 
62 {
63  public:
64 
65  G4OpticalPhysics(G4int verbose = 0, const G4String& name = "Optical");
66  virtual ~G4OpticalPhysics();
67 
68  protected:
69 
70  // construct particle and physics
71  virtual void ConstructParticle();
72  virtual void ConstructProcess();
73 
74  private:
75 
80 
81  public:
82 
83  // configure G4OpticalPhysics builder
85 
90 
94  //void AddScintillationSaturation(G4EmSaturation* );
95 
98 
101 
102  void SetInvokeSD(G4bool );
103 
104  private:
105 
106  // methods
107  void PrintStatistics() const;
108 
109  // messenger
111 
112  // The vector of process configuration
113  std::vector<G4bool> fProcessUse;
114 
115  // The vector of track secondaries options;
116  // the option to track secondaries before finishing their parent track
117  std::vector<G4bool> fProcessTrackSecondariesFirst;
118 
121 
124 
127 
130 
133 
138 
143 
147 
151 
156 
157 };
158 
159 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
160 
161 #endif // G4OpticalPhysics_h
const XML_Char * name
Definition: expat.h:151
G4String fProfile
the WLS process time profile
void SetCerenkovStackPhotons(G4bool)
virtual ~G4OpticalPhysics()
void SetFiniteRiseTime(G4bool)
std::vector< G4bool > fProcessTrackSecondariesFirst
void Configure(G4OpticalProcessIndex, G4bool)
G4OpticalProcessIndex
G4bool fScintillationStackPhotons
option to allow stacking of secondary Scintillation photons
void PrintStatistics() const
virtual void ConstructParticle()
G4double fExcitationRatio
scintillation excitation ratio
std::vector< G4bool > fProcessUse
void SetMaxBetaChangePerStep(G4double)
void SetScintillationExcitationRatio(G4double)
double G4double
Definition: G4Types.hh:76
bool G4bool
Definition: G4Types.hh:79
G4bool fScintillationByParticleType
void SetScintillationByParticleType(G4bool)
G4int fMaxNumPhotons
max number of Cerenkov photons per step
G4double fYieldFactor
scintillation yield factor
G4bool fCerenkovStackPhotons
option to allow stacking of secondary Cerenkov photons
void SetScintillationStackPhotons(G4bool)
G4OpticalPhysics(G4int verbose=0, const G4String &name="Optical")
void SetScintillationYieldFactor(G4double)
void SetTrackSecondariesFirst(G4OpticalProcessIndex, G4bool)
int G4int
Definition: G4Types.hh:78
void SetMaxNumPhotonsPerStep(G4int)
virtual void ConstructProcess()
void SetInvokeSD(G4bool)
G4double fMaxBetaChange
max change of beta per step
G4OpticalPhysics & operator=(const G4OpticalPhysics &right)
Not implemented.
void SetScintillationTrackInfo(G4bool)
G4OpticalPhysicsMessenger * fMessenger
void SetWLSTimeProfile(G4String)