Import Geant4 10.6.0.beta source tree
This commit is contained in:
@@ -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;
|
||||
};
|
||||
Reference in New Issue
Block a user