// $Id$
// Category: event
//
-// Geant4 implementation of the MonteCarlo interface methods
-// for access to Geant4 at step level
+// Author: I.Hrivnacova
//
+// Class TG4StepManager
+// --------------------
+// Geant4 implementation of the MonteCarlo interface methods
+// for access to Geant4 at step level.
// The public methods that do not implement AliMC methods
// are commented as G4 specific
#ifndef TG4_STEP_MANAGER_H
#define TG4_STEP_MANAGER_H
+#include <Rtypes.h>
+#include "AliMCProcess.h"
+
#include "TG4StepStatus.h"
#include <G4Step.hh>
#include <G4ThreeVector.hh>
#include <globals.hh>
-#include <Rtypes.h>
+#include <TArrayI.h>
class G4Track;
class G4SteppingManager;
static TG4StepManager* Instance();
// methods
- void StopTrack(); //new
- void StopEvent(); //new
- void Rndm(Float_t* array, const Int_t size) const;
+ void StopTrack();
+ void StopEvent();
// set methods
void SetStep(G4Step* step, TG4StepStatus status); // G4 specific
const char* CurrentVolOffName(Int_t off) const;
Int_t CurrentMaterial(Float_t &a, Float_t &z, Float_t &dens,
Float_t &radl, Float_t &absl) const;
- void Gmtod(Float_t* xm, Float_t* xd, Int_t iflag); //new
- void Gdtom(Float_t* xd, Float_t* xm, Int_t iflag); //new
+ void Gmtod(Float_t* xm, Float_t* xd, Int_t iflag);
+ void Gdtom(Float_t* xd, Float_t* xm, Int_t iflag);
Float_t MaxStep() const;
Int_t GetMaxNStep() const; //??
- Int_t GetMedium() const; //??
+ Int_t GetMedium() const;
// tracking particle
// dynamic properties
Int_t NSecondaries() const;
void GetSecondary(Int_t isec, Int_t& particleId,
TLorentzVector& position, TLorentzVector& momentum);
- const char* ProdProcess() const;
+ AliMCProcess ProdProcess(Int_t isec) const;
+ Int_t StepProcesses(TArrayI &proc) const;
protected:
TG4StepManager(const TG4StepManager& right);
void SetTLorentzVector(G4ThreeVector xyz, G4double t,
TLorentzVector& lv) const;
G4VPhysicalVolume* GetCurrentOffPhysicalVolume(G4int off) const;
- G4int GetVolumeID(G4VPhysicalVolume* volume) const;
// static data members
static TG4StepManager* fgInstance; //this instance