Import Geant4 10.6.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2019-06-28 11:59:04 +02:00
parent 28a70706e0
commit d0f911957d
1056 changed files with 95168 additions and 78160 deletions
@@ -43,33 +43,45 @@
// J. Comput. Phys. 274 (2014) 841-882
// Prog. Nucl. Sci. Tec. 2 (2011) 503-508
#ifndef G4ITMODELMANAGER_H
#define G4ITMODELMANAGER_H
#pragma once
#include "globals.hh"
#include <map>
#include "G4VITStepModel.hh"
#include <vector>
#include <memory>
class G4VITStepModel;
/**
* G4ITModelManager chooses which model to use according
* to the global simulation time.
* \deprecated This class will be removed
*/
class G4ITModelManager
{
public:
G4ITModelManager();
~G4ITModelManager();
void Initialize();
G4ITModelManager(const G4ITModelManager& other);
G4ITModelManager& operator=(const G4ITModelManager& rhs);
void SetModel(G4VITStepModel* aModel, G4double startingTime);
G4VITStepModel* GetModel(const G4double globalTime);
G4ITModelManager();
~G4ITModelManager();
void Initialize();
G4ITModelManager(const G4ITModelManager& other) = delete;
G4ITModelManager& operator=(const G4ITModelManager& rhs) = delete;
void SetModel(G4VITStepModel* aModel, G4double startingTime, G4double endTime = DBL_MAX);
std::vector<G4VITStepModel*> GetActiveModels(G4double globalTime) const;
protected:
typedef std::map<G4double /*startingTime*/, G4VITStepModel* /*aModel*/> mapModels;
mapModels fModels;
G4bool fIsInitialized;
};
struct ModelInfo
{
double fStartingTime;
double fEndTime;
std::unique_ptr<G4VITStepModel> fpModel;
};
#endif // G4ITMODELMANAGER_H
std::vector<ModelInfo> fModelInfoList;
G4bool fIsInitialized;
};