}
//_______________________________________________________________________
-void AliMC::GeneratePrimaries()
+void AliMC::GeneratePrimaries()
{
//
// Generate primary particles and fill them in the stack.
}
//_______________________________________________________________________
-void AliMC::Browse(TBrowser *b)
+void AliMC::Browse(TBrowser *b) const
{
//
// Called when the item "Run" is clicked on the left pane
//_______________________________________________________________________
void AliMC::PushTrack(Int_t done, Int_t parent, Int_t pdg, Float_t *pmom,
Float_t *vpos, Float_t *polar, Float_t tof,
- TMCProcess mech, Int_t &ntr, Float_t weight, Int_t is)
+ TMCProcess mech, Int_t &ntr, Float_t weight, Int_t is) const
{
// Delegate to stack
//
Double_t px, Double_t py, Double_t pz, Double_t e,
Double_t vx, Double_t vy, Double_t vz, Double_t tof,
Double_t polx, Double_t poly, Double_t polz,
- TMCProcess mech, Int_t &ntr, Float_t weight, Int_t is)
+ TMCProcess mech, Int_t &ntr, Float_t weight, Int_t is) const
{
// Delegate to stack
//
}
//_______________________________________________________________________
-void AliMC::SetHighWaterMark(Int_t nt)
+void AliMC::SetHighWaterMark(Int_t nt) const
{
//
// Set high water mark for last track in event
}
//_______________________________________________________________________
-void AliMC::KeepTrack(Int_t track)
+void AliMC::KeepTrack(Int_t track) const
{
//
// Delegate to stack
}
//_______________________________________________________________________
-void AliMC::FlagTrack(Int_t track)
+void AliMC::FlagTrack(Int_t track) const
{
// Delegate to stack
//
}
//_______________________________________________________________________
-void AliMC::SetCurrentTrack(Int_t track)
+void AliMC::SetCurrentTrack(Int_t track) const
{
//
// Set current track number
/* $Id$ */
+//
+// This is the ALICE implementation of TVirtualMCApplication
+// for simulation with different implementations
+// of the Virtual MonteCarlo
+//
+
#include <TArrayF.h>
#include <TArrayI.h>
#include <TMCProcess.h>
virtual void SetDebug(Int_t level=0) {fDebug = level;}
virtual void Init();
virtual void SetTransPar(const char *filename="$(ALICE_ROOT)/data/galice.cuts");
- virtual void Browse(TBrowser *b);
+ virtual void Browse(TBrowser *b) const;
AliMCQA *GetMCQA() const {return fMCQA;}
//PH
virtual void AddHit(Int_t id, Int_t track, Int_t *vol, Float_t *hits) const;
virtual void PushTrack(Int_t done, Int_t parent, Int_t pdg,
Float_t *pmom, Float_t *vpos, Float_t *polar,
Float_t tof, TMCProcess mech, Int_t &ntr,
- Float_t weight = 1, Int_t is = 0);
+ Float_t weight = 1, Int_t is = 0) const;
virtual void PushTrack(Int_t done, Int_t parent, Int_t pdg,
Double_t px, Double_t py, Double_t pz, Double_t e,
Double_t vx, Double_t vy, Double_t vz, Double_t tof,
Double_t polx, Double_t poly, Double_t polz,
TMCProcess mech, Int_t &ntr, Float_t weight=1,
- Int_t is = 0);
- virtual void SetHighWaterMark(Int_t nt);
+ Int_t is = 0) const;
+ virtual void SetHighWaterMark(Int_t nt) const;
- virtual void KeepTrack(Int_t itra);
- virtual void FlagTrack(Int_t track);
- virtual void SetCurrentTrack(Int_t track);
+ virtual void KeepTrack(Int_t itra) const;
+ virtual void FlagTrack(Int_t track) const;
+ virtual void SetCurrentTrack(Int_t track) const;
// Track reference related
virtual void AddTrackReference(Int_t label);
TClonesArray *TrackReferences() const {return fTrackReferences;}
#include <TROOT.h>
#include <TRandom3.h>
#include <TSystem.h>
-#include <TVector.h>
#include <TVirtualMC.h>
//
#include "AliDetector.h"
//_______________________________________________________________________
void AliRun::SetField(AliMagF* magField)
{
- // Set Magnetic Field Map
- fField = magField;
- fField->ReadField();
+ //
+ // Set Magnetic Field Map
+ //
+ fField = magField;
+ fField->ReadField();
}
//_______________________________________________________________________
//_______________________________________________________________________
void AliRun::Field(const Double_t* x, Double_t *b) const
{
- Float_t xfloat[3];
- for (Int_t i=0; i<3; i++) xfloat[i] = x[i];
-
- if (Field()) {
- Float_t bfloat[3];
- Field()->Field(xfloat,bfloat);
- for (Int_t j=0; j<3; j++) b[j] = bfloat[j];
- }
- else {
- printf("No mag field defined!\n");
- b[0]=b[1]=b[2]=0.;
- }
-
+ //
+ // Return the value of the magnetic field
+ //
+ Float_t xfloat[3];
+ for (Int_t i=0; i<3; i++) xfloat[i] = x[i];
+
+ if (Field()) {
+ Float_t bfloat[3];
+ Field()->Field(xfloat,bfloat);
+ for (Int_t j=0; j<3; j++) b[j] = bfloat[j];
+ }
+ else {
+ printf("No mag field defined!\n");
+ b[0]=b[1]=b[2]=0.;
+ }
}
//
void AliRun::SetRunLoader(AliRunLoader* rloader)
{
+ //
+ // Set the loader of the run
+ //
fRunLoader = rloader;
if (fRunLoader == 0x0) return;
void AliRun::AddModule(AliModule* mod)
{
+ //
+ // Add a module to the module list
+ //
if (mod == 0x0) return;
if (strlen(mod->GetName()) == 0) return;
if (GetModuleID(mod->GetName()) >= 0) return;
/* $Id$ */
//
-// General configuration class for folders
+// General configuration class for Simulation and Reconstruction
+// Basic driver for AliRoot runs
+// Containing pointers to data elements for AliRoot
//
-#include <TMCProcess.h>
-#include <TStopwatch.h>
#include <TError.h>
+#include <TStopwatch.h>
class TGeometry;
class TParticle;
AliStack *Stack() {return (fRunLoader)?fRunLoader->Stack():0x0;}
AliHeader* GetHeader() {return (fRunLoader)?fRunLoader->GetHeader():0x0;}
- TTree *TreeD() {MayNotUse("TreeD"); return 0x0;}
- TTree *TreeS() {MayNotUse("TreeS"); return 0x0;}
- TTree *TreeR() {MayNotUse("TreeR"); return 0x0;}
+ TTree *TreeD() const {MayNotUse("TreeD"); return 0x0;}
+ TTree *TreeS() const {MayNotUse("TreeS"); return 0x0;}
+ TTree *TreeR() const {MayNotUse("TreeR"); return 0x0;}
void SetRunLoader(AliRunLoader* rloader);
virtual void Announce() const;
virtual void InitLoaders(); //prepares run (i.e. creates getters)
- static void Deprecated(TObject *obj, const char *method,
- const char *replacement) {
- if (obj)
- ::Warning(Form("%s::%s", obj->ClassName(), method),
- "method is depricated\nPlease use: %s", replacement);
- else
- ::Warning(method, "method is depricated\nPlease use: %s", replacement);
- }
+ static void Deprecated(TObject *obj, const char *method, const char *replace)
+ {
+ //
+ // Indicates deprecated method
+ //
+ if (obj) ::Warning(Form("%s::%s", obj->ClassName(), method),
+ "method is depricated\nPlease use: %s", replace);
+ else ::Warning(method, "method is depricated\nPlease use: %s", replace);
+ }
+
+
protected:
virtual void Tree2Tree(Option_t *option, const char *detector=0);
Int_t fRun; //! Current run number