ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4VScheduler.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4VScheduler.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 /*
27  * G4ITTimeStepper.hh
28  *
29  * Created on: 4 juin 2014
30  * Author: kara
31  */
32 
33 #ifndef G4ITTIMESTEPPER_HH_
34 #define G4ITTIMESTEPPER_HH_
35 
36 #include "globals.hh"
37 #include "tls.hh"
38 #include <map>
39 
40 class G4VITStepModel;
41 class G4ITModelHandler;
43 class G4ITGun;
45 
47 {
48 protected:
49  G4VScheduler();
50  virtual ~G4VScheduler();
51 private:
53 
54 public:
55  static G4VScheduler* Instance();
56  virtual void Initialize(){;}
57  virtual void Reset(){;}
58 
59  virtual void SetVerbose(int){;}
60 
61  virtual void SetGun(G4ITGun*){;}
62 
63  virtual void Process();
64 
65  virtual G4bool IsRunning(){ return false; }
66 
67  virtual G4ITModelHandler* GetModelHandler(){ return 0; }
68 
69  virtual void RegisterModel(G4VITStepModel*, double){;}
70 
71  virtual void SetEndTime(const double){;}
72 
73  virtual void SetTimeTolerance(double){;}
74  // Two tracks below the time tolerance are supposed to be
75  // in the same time slice
76  virtual double GetTimeTolerance() const{ return -1;}
77 
78  virtual void SetMaxZeroTimeAllowed(int){;}
79  virtual int GetMaxZeroTimeAllowed() const{ return -1;}
80 
81  virtual void SetTimeSteps(std::map<double, double>*){;}
82  virtual void AddTimeStep(double /*startingTime*/, double /*timeStep*/){;}
83  virtual void SetDefaultTimeStep(double){;}
84  virtual double GetLimitingTimeStep() const {return -1;}
85  virtual G4int GetNbSteps() const {return -1;}
86  virtual void SetMaxNbSteps(G4int) {;}
87  virtual G4int GetMaxNbSteps() const {return 0;}
88  virtual G4double GetStartTime() const {return -1;}
89  virtual G4double GetEndTime() const {return -1;}
90  virtual G4double GetTimeStep() const {return -1;}
91  virtual G4double GetPreviousTimeStep() const {return -1;}
92  virtual G4double GetGlobalTime() const {return -1;}
93 
95  virtual G4UserTimeStepAction* GetUserTimeStepAction() const {return 0;}
96 
99 };
100 
101 #endif /* G4ITTIMESTEPPER_HH_ */