CMS 3D CMS Logo

CMSSQLoopProcessDiscr.h
Go to the documentation of this file.
1 #ifndef CMSSQLoopProcessDiscr_h
2 #define CMSSQLoopProcessDiscr_h 1
3 
4 #include "G4VDiscreteProcess.hh"
5 #include "globals.hh"
6 #include "G4Track.hh"
7 #include "G4ParticleChange.hh"
8 #include "G4ParticleChangeForTransport.hh"
9 #include "CMSSQ.h"
10 #include "CMSAntiSQ.h"
11 
12 class G4Step;
13 class G4ParticleDefinition;
14 
15 class CMSSQLoopProcessDiscr : public G4VDiscreteProcess {
16 public:
17  CMSSQLoopProcessDiscr(double mass, const G4String& name = "SQLooper", G4ProcessType type = fUserDefined);
18  virtual ~CMSSQLoopProcessDiscr();
19 
20 public:
21  virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
22  virtual G4double PostStepGetPhysicalInteractionLength(const G4Track& track,
23  G4double previousStepSize,
24  G4ForceCondition* condition);
25  virtual G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*);
26  void SetTimeLimit(G4double);
27  virtual void StartTracking(G4Track* aTrack);
28 
29 private:
32 
33 protected:
34  G4ParticleChange* fParticleChange;
35  double GenMass;
36 
37 private:
38  G4ThreeVector posini;
39  G4double globaltimeini;
40 };
41 
42 #endif
CMSSQLoopProcessDiscr(double mass, const G4String &name="SQLooper", G4ProcessType type=fUserDefined)
virtual void StartTracking(G4Track *aTrack)
virtual G4double GetMeanFreePath(const G4Track &, G4double, G4ForceCondition *)
virtual G4VParticleChange * PostStepDoIt(const G4Track &, const G4Step &)
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
void SetTimeLimit(G4double)
CMSSQLoopProcessDiscr & operator=(const CMSSQLoopProcessDiscr &right)
G4ParticleChange * fParticleChange