* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Header$ */
+/* $Id$ */
///////////////////////////////////////////////////////////////////////////////
// //
#include "TFile.h"
#include "TFolder.h"
#include "TGeometry.h"
-#include "TKey.h"
#include "TNode.h"
-#include "TObjectTable.h"
#include "TParticle.h"
#include "TRandom3.h"
#include "TROOT.h"
#include "AliConfig.h"
#include "AliDetector.h"
#include "AliDisplay.h"
-#include "AliGenEventHeader.h"
#include "AliGenerator.h"
#include "AliHeader.h"
-#include "AliHit.h"
#include "AliLego.h"
#include "AliLegoGenerator.h"
#include "AliMCQA.h"
if(fTreeE)curfil=fTreeE->GetCurrentFile();
delete fImedia;
delete fField;
- delete fMC;
+ // delete fMC;
+ delete gMC; gMC=0;
delete fGeometry;
delete fDisplay;
delete fGenerator;
//_______________________________________________________________________
void AliRun::Copy(AliRun &) const
{
+ //
+ // Copy method ... not implemented
+ //
Fatal("Copy","Not implemented!\n");
}
}
//_______________________________________________________________________
-Int_t AliRun::DistancetoPrimitive(Int_t, Int_t)
+Int_t AliRun::DistancetoPrimitive(Int_t, Int_t) const
{
//
// Return the distance from the mouse to the AliRun object
// fSum2Energy.Set(0);
}
+//_______________________________________________________________________
+void AliRun::Announce() const
+{
+ //
+ // Announce the current version of AliRoot
+ //
+ printf("%70s",
+ "****************************************************************\n");
+ printf("%6s","*");printf("%64s","*\n");
+
+ printf("%6s","*");
+ printf(" You are running AliRoot version v3-09-07\n");
+
+ printf("%6s","*");
+ printf(" The cvs tag for the current program is $Name$\n");
+
+ printf("%6s","*");printf("%64s","*\n");
+ printf("%70s",
+ "****************************************************************\n");
+}
+
//_______________________________________________________________________
AliModule *AliRun::GetModule(const char *name) const
{
//_______________________________________________________________________
void AliRun::SetTransPar(const char *filename)
{
+ //
+ // Sets the file name for transport parameters
+ //
fTransParName = filename;
}
}
//_______________________________________________________________________
-TParticle* AliRun::Particle(Int_t i)
+TParticle* AliRun::Particle(Int_t i) const
{
- return fStack->Particle(i);
+ //
+ // Returns particle i on the simulation stack
+ //
+ return fStack->Particle(i);
}
//_______________________________________________________________________
// Initialize the Alice setup
//
+ Announce();
+
if(fInitDone) {
Warning("Init","Cannot initialise AliRun twice!\n");
return;
//_______________________________________________________________________
void AliRun::PreTrack()
{
- TObjArray &dets = *fModules;
- AliModule *module;
-
- for(Int_t i=0; i<=fNdets; i++)
- if((module = dynamic_cast<AliModule*>(dets[i])))
- module->PreTrack();
-
- fMCQA->PreTrack();
+ //
+ // Method called before each track
+ //
+ TObjArray &dets = *fModules;
+ AliModule *module;
+
+ for(Int_t i=0; i<=fNdets; i++)
+ if((module = dynamic_cast<AliModule*>(dets[i])))
+ module->PreTrack();
+
+ fMCQA->PreTrack();
}
//_______________________________________________________________________
//_______________________________________________________________________
void AliRun::PostTrack()
{
- TObjArray &dets = *fModules;
- AliModule *module;
-
- for(Int_t i=0; i<=fNdets; i++)
- if((module = dynamic_cast<AliModule*>(dets[i])))
- module->PostTrack();
+ //
+ // Called after a track has been trasported
+ //
+ TObjArray &dets = *fModules;
+ AliModule *module;
+
+ for(Int_t i=0; i<=fNdets; i++)
+ if((module = dynamic_cast<AliModule*>(dets[i])))
+ module->PostTrack();
}
//_______________________________________________________________________
//_______________________________________________________________________
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.;
- }
+ //
+ // Returns the magnetic field at point x[3]
+ // Units are kGauss
+ //
+ 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.;
+ }
}
}
//_______________________________________________________________________
-TObjArray* AliRun::Particles() {
+TObjArray* AliRun::Particles() const {
//
// Returns pointer to Particles array
//
}
//_______________________________________________________________________
-TTree* AliRun::TreeK() {
+TTree* AliRun::TreeK() const {
//
// Returns pointer to the TreeK array
//