]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/doc/history/g4mc_History
moving TG4G3Cut/Control, TG4G3Cut/ControlVector from physics commented
[u/mrichter/AliRoot.git] / AliGeant4 / doc / history / g4mc_History
1 $Id$
2 -----------------------------------------------------------------
3
4 G4MC:
5 =======
6  19.12.00:
7     interfaces: new subcategory introduced
8
9  28.4.00:
10     cint:
11        new subdirectory for Root dictionary classes;
12        only header files that are specified in the include/.rootcint
13        file are processed;
14
15  28.3.00: new subcategories introduced:
16     geometry, physics, event, run, global, visualization
17
18  7.3.00:
19     TG4RunManager:
20        added inheritance from AliVMC;
21        Changed the roles with TGeant4: main program
22        instantiates TG4RunManager and TGeant4 is created
23        within TG4RunManager constructor.
24        (see aliroot/History, too)
25
26   24.2.00:
27     TG4VisManager:
28        AliMC methods for visualization (Gsatt, Gdraw)
29        has been implemeted.
30        Comments:
31        Gdraw() ignores the last four parameters (e.g. position of the volume 
32        center and scaling factors) the volume is automatically centered 
33        in the window and make it confortably on the view at any viewing 
34        angle. 
35        If the visible attributes for a required volume are shared by others 
36        (in G4 it is possible) Gsatt() duplicates them so they
37        can be changed at any time.
38
39   17.12.99:
40     New class TG4GeometryOutputManager:
41     management of g3calls.dat output (open/close
42     the file; prvides write method for G3 "tokens").
43
44   6.12.99:
45     TG4GeometryManager:
46       Added methods for writing (if fWriteGeometry is set true
47       -> the methods for writing tokens WG4xxx() are called before
48       TG4xxx()) and reading tokens (ReadG3Geometry()) 
49       to/from g3calls.dat files.      
50
51   18.9.99:
52     TG4gspos:
53       Exception case "INCONSISTENT GEOMETRY" has been
54       taken into account: for each mother copy
55       (created with gsposp) a new VTE daughter is creted
56       !! TO DO: to create only new G3Pos, set
57       mother <-> daughter and use test of existence of logical
58       volume in G3toG4BuildTree to position this volume
59       correctly
60
61   7.9.99:
62     TG4VisManager:
63       After the AG4_VISUALIZE flag has been replaced with G4VIS_USE,
64       the independent on Ali* specifics class has been renamed from
65       AlVisManager and moved from visualization.
66
67   6.9.99:
68      TG4PhysicsList::ConstructEM()
69        When only one instance of Muon process of each type
70        is created for both mu+ and mu- -> run-time error.
71        The new instance of each process is created each time
72        when it is associated with a new particle.
73
74   12.8.99:
75      Physics management - new classes:
76      TG4PhysicsManager: 
77        - cuts/process flags handling has been moved from 
78          TG4GeometryManager here
79        - methods SetCut(), SetProcess() fro global setup
80          of physics has been implemented  
81      TG4Cut/FlagVector:
82        - replaced the RW vector of cut/flag values;
83          get methods moved from TG4Limits here
84          (as these classes are used also for storing the global
85           physics setup)
86      TG4PhysicsList 
87        - replaced AliPhysics list
88        - build physics setup according to TG4Cut/FlagVector 
89          set in the TG4PhysicsManager            
90
91   17.6.99:
92      New category g4mc has been created;
93        It contains all classes that implements the interface
94        to the abstract Monte Carlo (AliMC) class for Geant4.
95        Subcategories:
96          g3tog4     - corrected methods from geant4 g3tog4 package 
97                       (moved from previous g3tog4 category)
98          management - all other classes/methods implemented for
99                       AliMC          
100
101 G3toG4:
102 =======
103   17.12.99:
104     g3tog4 has been replaced from G4 g3tog4;
105     WG4xxx() methods for writing tokens to g3calls.dat
106     have been merged into the TG4GeometryOutputManager class;
107     TG4gstparcut/flag() methods have been moved to 
108     TG4GeometryManager as they were not yet provided to G4.
109
110   6.12.99:
111     Added methods for reading (RG4xxx()) and writing (WG4xxx())
112     tokens to/from g3calls.dat file.
113     The generated g3calls.dat file can be processed with standard
114     g3tog4 tool in G4.
115
116   8.11.99:
117     TG3Division: 
118         Class methods has been modified:
119         public UpdateVTE() method has been added:
120            it redefines the divided volume parameters,
121            creates solid and eventually envelope VTE and its solid,
122            and calculates parameters needed for creating G4PVReplica
123            (parameters are stored in class data members)
124         public CreatePVReplica() has been modified:
125            it creates G4PVReplica using the parameteres stored
126            in relevant class data members;   
127
128   2.11.99:
129     TG3Division: 
130       - Test of existence of clones of mother added;
131         TO DO: restore Npar, Rpar from mother when G4gsdvn/t(2)
132         are processed in order to take into account positioning
133         with gsposp into division. 
134       - CONS division for axis 2,3 has been implemented;
135         missing parts in CreateEnvelope() for supported division
136         has been added  
137     G3Pos, TG3toG4BUildTree:
138         Mother volume name is stored in G3Pos in order to be able to
139         place the VTE's positions correctly in case when more 
140         different mothers (not only clone copies) exist.        
141   
142   13.10.99: 
143      TG3VolTableEntry:
144         removed inheritance from orig. VolTableEntry,
145         added vector of TG3VolTableEntry* fClones;
146         In case a volume is positioned with negative parameters
147         or via gsposp - a new vte (clone) is created and
148         its pointer is added to fClones. The original vte
149         is kept unchanged.      
150
151   7.9.99:
152      TG3Division - new class;
153         Used for storing the parameters for the division
154         methods and for creating the G4 correspondent geometry;
155         Extern methods G4MakeReplica/Envelope were moved
156         here (as member function CreateLV(), CreateEnvelope()  
157      Division methods TG4Gstdvn/t(2) has been rewritten with
158         usage of TG3Division                 
159      TO DO: Extract the parts that build G4 geometry objects
160         into TG3toG4BuildTree() method  and unified this method
161         for VTEs with positions and divisions;        
162
163   12.8.99:
164      Updated to geant4.0.1 release:
165      change of the "table" classes
166      -> added class: TG3Mat/Med/RotTable, 
167                      TG3Mat/Med/RotTableEntry
168                      TG3VolTableEntry : VolTableEntry
169      Change of the way of construction of G4 geometry:
170      the G3VolTable is filled (with TG3VolTableEntry objects)
171      when processing the G3-like methods and G4 geometry objects
172      are created afterwords.
173      Division methods TG4Gstdvn/t(2) has not yet been updated.               
174
175   11.6.99:
176      Gstmate(), Gstmixt():
177          retrieving elements from the default element table 
178          has been implemented;
179          several bugs in materials definition were fixed;
180      MixMaterial() - new method for mixing materials
181          was implemented;
182
183   27.5.99:
184      AliG3GeometryManager:
185        Gstpar() method has been updated for setting
186          physics processes control flags, too, in similar way as
187          cut values.
188
189   20.4.99:
190      AliG3GeometryManager:
191        Gstpar() method (that sets the tracking media parameters
192           in Geant3) has been implemented for kinetic energu cut parameters:
193           The cut values are stored in the AliLimits:G4UserLimits (global) 
194           and are applied by AliSpecialCuts:G4UserSpecialCuts (physics)
195           as the additional process that is added to the defined particles
196           in the AliPhysicsList (physics).
197        New methods:
198        UseG3Defaults(): 
199           switchs the fUseG3Defaults option -> 
200           the G3 default cut values are set for all logical volumes ;
201        IsSpecialCuts():
202           returns true if any logical volume has defined the
203           AliLimits
204        GetSwitchCutVector():
205           returns a vector of booleans - with info which particles
206           have set the special cuts; 
207      AliG3Defaults: new class
208           contains the Geant3 default parameters as static constants
209           and a static method for inquiring whether a given parameter
210           value is equal to the default one;
211               
212   22.3.99:
213      All AG4gsdv*.cxx were reimplemented. Now it works for following
214      volumes:
215       BOX, TRD1-z, TRD2-z,TUBE, TUBS, CONE-phi,z CONS-phi,z 
216
217   19.3.99:
218      G3SensVolVector - has been added:
219        In case the created logical volume contains a medium with isvol>0
220        its pointer is stored in the extern G3SensVol vector.
221        The G3SensVol is defined in AliG3GeometryManager.cxx.
222
223   11.3.99:
224      Class AliG3ToG4Geometry was renamed to AliG3GeometryManager 
225      and moved from global;
226  
227   10.2.99: 
228      Category for classes and methods for porting
229      G3 geometry to G4.