#ifndef AliRun_H
#define AliRun_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/* $Id$ */
+
#include <TROOT.h>
#include <TBrowser.h>
#include <TList.h>
#include <TStopwatch.h>
#include <TTree.h>
#include <TGeometry.h>
-#include "AliModule.h"
+#include <TDatabasePDG.h>
+
+#include "AliDetector.h"
#include "AliHeader.h"
#include "AliMagF.h"
#include "AliMC.h"
#include "AliGenerator.h"
#include "AliLego.h"
-const enum {kMaxModules = 25, kLenModuleName=7};
+enum {Keep_Bit=1, Daughters_Bit=2, Done_Bit=4};
class AliDisplay;
TTree *fTreeH; //Pointer to Tree for Hits
TTree *fTreeE; //Pointer to Tree for Header
TTree *fTreeR; //Pointer to Tree for Reconstructed Objects
- TObjArray *fModules; //List of Detectors
+ TObjArray *fModules; //List of Detectors
TClonesArray *fParticles; //Pointer to list of particles
TGeometry *fGeometry; //Pointer to geometry
AliDisplay *fDisplay; //Pointer to event display
TStopwatch fTimer; //Timer object
AliMagF *fField; //Magnetic Field Map
AliMC *fMC; //pointer to MonteCarlo object
- char fDnames[kMaxModules][kLenModuleName];
- //Array of detector names
TArrayI *fImedia; //Array of correspondence between media and detectors
Int_t fNdets; //Number of detectors
Float_t fTrRmax; //Maximum radius for tracking
Float_t fTrZmax; //Maximu z for tracking
AliGenerator *fGenerator; //Generator used in the MC
- Int_t *fIdtmed; //Array to contain media numbers
Bool_t fInitDone; //true when initialisation done
AliLego *fLego; //pointer to aliLego object if it exists
+ TDatabasePDG *fPDGDB; //Particle factory object!
public:
// Creators - distructors
void SetRunNumber(Int_t run) {fRun=run;}
Int_t GetDebug() const {return fDebug;}
AliModule *GetModule(const char *name);
+ AliDetector *GetDetector(const char *name);
Int_t GetModuleID(const char *name);
virtual Int_t GetEvent(Int_t event);
TGeometry *GetGeometry();
virtual void SetDisplay(AliDisplay *display) {fDisplay = display;}
virtual void StepManager(Int_t id) const;
virtual void SetField(Int_t type=2, Int_t version=1, Float_t scale=1, Float_t maxField=10, char*filename="$(ALICE_ROOT)/data/field01.dat");
- virtual void SetTrack(Int_t done, Int_t parent, Int_t ipart,
+ virtual void SetTrack(Int_t done, Int_t parent, Int_t pdg,
Float_t *pmom, Float_t *vpos, Float_t *polar,
Float_t tof, const char *mecha, Int_t &ntr,
Float_t weight=1);
virtual AliGenerator* Generator() {return fGenerator;}
virtual void SetGenerator(AliGenerator *generator);
virtual void EnergySummary();
- virtual Int_t* Idtmed() {return fIdtmed;}
+ virtual const TDatabasePDG* PDGDB() const {return fPDGDB;}
// Functions from GEOCAD
//_______________________________________________________________________
- virtual void ReadEuclid(const char*, Int_t, const char*);
- virtual void ReadEuclidMedia(const char*, Int_t);
+ virtual void ReadEuclid(const char*, const AliModule*, char*);
+ virtual void ReadEuclidMedia(const char*, const AliModule*);
TTree *TreeD() {return fTreeD;}
TTree *TreeE() {return fTreeE;}
// --------------------------- commons -------------------------------------
- ClassDef(AliRun,1) //Supervisor class for all Alice detectors
+ ClassDef(AliRun,2) //Supervisor class for all Alice detectors
};
-EXTERN AliRun *gAlice;
+R__EXTERN AliRun *gAlice;
#endif