1 | <HTML> |
---|
2 | <HEAD> |
---|
3 | <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> |
---|
4 | <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; AIX 4.1) [Netscape]"> |
---|
5 | </HEAD> |
---|
6 | |
---|
7 | <BODY> |
---|
8 | <!-- Created by: Makoto Asai, 14-Apr-2003 --> |
---|
9 | |
---|
10 | <BR> |
---|
11 | |
---|
12 | <TABLE WIDTH="100%" > |
---|
13 | <TR> |
---|
14 | <TD> |
---|
15 | |
---|
16 | </A> |
---|
17 | <A HREF="index.html"> |
---|
18 | <IMG SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents" HEIGHT=16 WIDTH=59></A> |
---|
19 | <A HREF="thresholdVScut.html"> |
---|
20 | <IMG SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous" HEIGHT=16 WIDTH=59></A> |
---|
21 | <A HREF="physicsTable.html"> |
---|
22 | <IMG SRC="../../../../resources/html/IconsGIF/Next.gif" ALT="Next" HEIGHT=16 WIDTH=59></A> |
---|
23 | </TD> |
---|
24 | <P> |
---|
25 | |
---|
26 | <TD ALIGN=RIGHT><FONT COLOR="#238E23"><FONT SIZE=-1> |
---|
27 | <B>Geant4 User's Guide</B></FONT></FONT> |
---|
28 | <BR><FONT COLOR="#238E23"><FONT SIZE=-1> |
---|
29 | <B>For Application Developers</B></FONT></FONT> |
---|
30 | <BR><FONT COLOR="#238E23"><FONT SIZE=-1> |
---|
31 | <B>Tracking and Physics</B></FONT></FONT></TD> |
---|
32 | </TR> |
---|
33 | </TABLE> |
---|
34 | <P><BR> |
---|
35 | |
---|
36 | <CENTER><FONT COLOR="#238E23"><FONT SIZE=+3> |
---|
37 | <B>5.5 Cuts per Region</B></FONT></FONT> |
---|
38 | </CENTER> |
---|
39 | <P><BR> |
---|
40 | |
---|
41 | <HR ALIGN="Center" SIZE="7%"> |
---|
42 | <P> |
---|
43 | |
---|
44 | <a name="5.5.1"> |
---|
45 | <H2>5.5.1 General Concepts</H2></a> |
---|
46 | Beginning with Geant4 version 5.1, the concept of a region has been defined |
---|
47 | for use in geometrical descriptions. Details about regions and how to use |
---|
48 | them are available in |
---|
49 | <a href="../Detector/geometry.html#4.1.3.1">subsection 4.1.3.1</a>. |
---|
50 | As an example, suppose a user defines three regions, corresponding to the |
---|
51 | tracking volume, the calorimeter and the bulk structure of a detector. |
---|
52 | For performance reasons, the user may not be interested in the detailed |
---|
53 | development of electromagnetic showers in the insensitive bulk structure, |
---|
54 | but wishes to maintain the best possible accuracy in the tracking region. |
---|
55 | In such a use case, Geant4 allows the user to set different production |
---|
56 | thresholds ("cuts") for each geometrical region. This ability, referred to as |
---|
57 | "cuts per region", is also a new feature provided by the Geant4 5.1 release. |
---|
58 | The general concepts of production thresholds were presented in the |
---|
59 | <a href="thresholdVScut.html">previous section</a>. |
---|
60 | <p> |
---|
61 | Please note that this new feature is intended only for users who |
---|
62 | <ol> |
---|
63 | <li>are simulating the most complex geometries, such as an LHC detector, and |
---|
64 | <li>are experienced in simulating electromagnetic showers in matter. |
---|
65 | </ol> |
---|
66 | We strongly recommend that results generated with this new feature be compared |
---|
67 | with results using the same geometry and uniform production thresholds. |
---|
68 | Setting completely different cut values for individual regions may break the |
---|
69 | coherent and comprehensive accuracy of the simulation. Therefore cut values |
---|
70 | should be carefully optimized, based on a comparison with results obtained |
---|
71 | using uniform cuts. |
---|
72 | |
---|
73 | <P> |
---|
74 | |
---|
75 | <HR> |
---|
76 | <a name="5.5.2"> |
---|
77 | <H2>5.5.2 Default Region</H2></a> |
---|
78 | The world volume is treated as a region by default. A <i>G4Region</i> object |
---|
79 | is automatically assigned to the world volume and is referred to as the |
---|
80 | "default region". The production cuts for this region are the defaults |
---|
81 | which are defined in the <i>UserPhysicsList</i>. Unless the user defines |
---|
82 | different cut values for other regions, the cuts in the default region will be |
---|
83 | used for the entire geometry. |
---|
84 | <p> |
---|
85 | Please note that the default region and its default production cuts are |
---|
86 | created and set automatically by <i>G4RunManager</i>. The user is <b>not</b> |
---|
87 | allowed to set a region to the world volume, <b>nor</b> to assign other |
---|
88 | production cuts to the default region. |
---|
89 | |
---|
90 | <P> |
---|
91 | |
---|
92 | <HR> |
---|
93 | <a name="5.5.3"> |
---|
94 | <H2>5.5.3 Assigning Production Cuts to a Region</H2></a> |
---|
95 | In the <tt>SetCuts()</tt> method of the user's physics list, the user must |
---|
96 | first define the default cuts. Then a <i>G4ProductionCuts</i> object must be |
---|
97 | created and initialized with the cut value desired for a given region. This |
---|
98 | object must in turn be assigned to the region object, which can be accessed by |
---|
99 | name from the <i>G4RegionStore</i>. An example <tt>SetCuts()</tt> code |
---|
100 | follows. |
---|
101 | |
---|
102 | <p> |
---|
103 | <center> |
---|
104 | <table border=2 cellpadding=10> |
---|
105 | <tr> |
---|
106 | <td> |
---|
107 | <pre> |
---|
108 | void MyPhysicsList::SetCuts() |
---|
109 | { |
---|
110 | // default production thresholds for the world volume |
---|
111 | SetCutsWithDefault(); |
---|
112 | |
---|
113 | // Production thresholds for detector regions |
---|
114 | G4Region* region; |
---|
115 | G4String regName; |
---|
116 | G4ProductionCuts* cuts; |
---|
117 | |
---|
118 | regName = "tracker"; |
---|
119 | region = G4RegionStore::GetInstance()->GetRegion(regName); |
---|
120 | cuts = new G4ProductionCuts; |
---|
121 | cuts->SetProductionCut(0.01*mm); // same cuts for gamma, e- and e+ |
---|
122 | region->SetProductionCuts(cuts); |
---|
123 | |
---|
124 | regName = "calorimeter"; |
---|
125 | region = G4RegionStore::GetInstance()->GetRegion(regName); |
---|
126 | cuts = new G4ProductionCuts; |
---|
127 | cuts->SetProductionCut(0.01*mm,G4ProductionCuts::GetIndex("gamma")); |
---|
128 | cuts->SetProductionCut(0.1*mm,G4ProductionCuts::GetIndex("e-")); |
---|
129 | cuts->SetProductionCut(0.1*mm,G4ProductionCuts::GetIndex("e+")); |
---|
130 | region->SetProductionCuts(cuts); |
---|
131 | } |
---|
132 | </pre> |
---|
133 | </td> |
---|
134 | </tr> |
---|
135 | <tr> |
---|
136 | <td align=center> |
---|
137 | Source listing 5.5.1 <br> |
---|
138 | <tt>Setting production cuts to a region</tt> |
---|
139 | </td> |
---|
140 | </tr> |
---|
141 | </table></center> |
---|
142 | <p> |
---|
143 | |
---|
144 | <BR><BR> |
---|
145 | <HR><A HREF="../../../../Authors/html/subjectsToAuthors.html"> |
---|
146 | <I>About the authors</A></I> |
---|
147 | </BODY> |
---|
148 | </HTML> |
---|