]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4SpecialControls.h
updated to renaming in global category
[u/mrichter/AliRoot.git] / TGeant4 / TG4SpecialControls.h
CommitLineData
2817d3e2 1// $Id$
2// Category: physics
3//
6a474bd6 4// Special process that applies G3 process controls.
2817d3e2 5
6#ifndef TG4_SPECIAL_FLAGS_H
7#define TG4_SPECIAL_FLAGS_H
8
9#include "TG4Globals.h"
10
11#include <G4VProcess.hh>
12#include <G4ProcessVector.hh>
13#include <globals.hh>
14
6a474bd6 15class TG4SpecialControls : public G4VProcess
2817d3e2 16{
17 enum Switch { kSwitch, kReswitch, kUnswitch };
18
19 public:
6a474bd6 20 TG4SpecialControls(const G4String& processName ="specialControl" );
2817d3e2 21 // --> protected
6a474bd6 22 // TG4SpecialControls(const TG4SpecialControls& right);
23 virtual ~TG4SpecialControls();
2817d3e2 24
25 // methods
26
27 virtual G4double PostStepGetPhysicalInteractionLength(
28 const G4Track& track, G4double previousStepSize,
29 G4ForceCondition* condition);
30
31 virtual G4VParticleChange* PostStepDoIt(const G4Track& track,
32 const G4Step& step);
33
34 virtual G4double AlongStepGetPhysicalInteractionLength(
35 const G4Track& track, G4double previousStepSize ,
36 G4double currentMinimumStep, G4double& proposedSafety,
37 G4GPILSelection* selection)
38 { return -1.0; }
39
40 virtual G4VParticleChange* AlongStepDoIt(const G4Track& ,
41 const G4Step& step)
42 { return 0; }
43
44 virtual G4double AtRestGetPhysicalInteractionLength(
45 const G4Track& track, G4ForceCondition* condition)
46 { return -1.0; }
47
48 virtual G4VParticleChange* AtRestDoIt(const G4Track& track,
49 const G4Step& step)
50 { return 0; }
51
52 protected:
6a474bd6 53 TG4SpecialControls(const TG4SpecialControls& right);
2817d3e2 54
55 //operators
6a474bd6 56 TG4SpecialControls& operator = (const TG4SpecialControls& right);
2817d3e2 57
58 private:
59 // data members
6a474bd6 60 Switch fSwitchControls; //directive passed from PostStepGetPIL
2817d3e2 61 //to PostStepDoIt
62 G4ProcessVector fSwitchedProcesses; //vector of the processes activation of
63 //which is changed by this process
6a474bd6 64 TG4boolVector fSwitchedControls; //vector for storing the current values of
2817d3e2 65 //the processes activation
66};
67
68#endif //TG4_SPECIAL_FLAGS_H
69