/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/CfGen.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/CfGen.hh Source File
Ratpac-two
CfGen.hh
1 // RAT::CfGen
2 // 10-Jan-2006 WGS
3 
4 // Implements a GLG4Sim-style generator for the spontaneous fission of
5 // Californium. The class we use is CfSource, prepared by Matt Worcester.
6 
7 // To use this generator, the command is:
8 
9 // /generator/add cf ISOTOPE:POSITION[:TIME]
10 
11 // (that is, the TIME is optional). ISOTOPE should be 252, since that
12 // is the only one currently supported. POSITION and TIME are the
13 // same as for the combo generator. For example:
14 
15 // /generator/add cf252:fill
16 
17 // Note that there is also no "defering" of any tracks of emitted
18 // particles into other events. "TIME" refers to the t0 of the
19 // fission; the default is flat time distribution with a rate of 1 ns.
20 
21 #ifndef __RAT_CfGen__
22 #define __RAT_CfGen__
23 
24 #include <RAT/GLG4Gen.hh>
25 #include <globals.hh>
26 
27 class G4Event;
28 class G4ParticleDefinition;
29 class GLG4TimeGen;
30 class GLG4PosGen;
31 
32 namespace RAT {
33 
34 class CfGen : public GLG4Gen {
35  public:
36  CfGen();
37  virtual ~CfGen();
38  virtual void GenerateEvent(G4Event *event);
39  virtual void ResetTime(double offset = 0.0);
40  virtual bool IsRepeatable() const { return true; };
41 
42  virtual void SetState(G4String state);
43  virtual G4String GetState() const;
44 
45  virtual void SetTimeState(G4String state);
46  virtual G4String GetTimeState() const;
47  virtual void SetPosState(G4String state);
48  virtual G4String GetPosState() const;
49 
50  protected:
51  // Generator initialization, specified by the user.
52  G4String stateStr;
53 
54  // Californium isotope.
55  int isotope;
56 
57  // The time and position generators specified by the user.
58  GLG4TimeGen *timeGen;
59  GLG4PosGen *posGen;
60 
61  // The CfSource event model only generate neutrons and photons.
62  G4ParticleDefinition *neutron;
63  G4ParticleDefinition *gamma;
64 };
65 
66 } // namespace RAT
67 
68 #endif // RAT_CfGen_h
Definition: GLG4Gen.hh:14
Definition: GLG4PosGen.hh:18
Definition: GLG4TimeGen.hh:6
Definition: CfGen.hh:34
Definition: CCCrossSecMessenger.hh:29