#include <TArrayF.h>
#include <TArrayI.h>
-#include <TList.h>
#include <TClonesArray.h>
+#include <TList.h>
#include <TMCProcess.h>
#include <TVirtualMCApplication.h>
class TTree;
class AliGenerator;
-class AliMCQA;
class AliTrackReference;
class AliMC : public TVirtualMCApplication {
public:
AliMC();
AliMC(const char *name, const char *title);
- AliMC(const AliMC &mc);
virtual ~AliMC();
- AliMC& operator= (const AliMC &mc) {
- // Assignment operator
- mc.Copy(*this);
- return *this;
- }
-
//
// MC Application
//
virtual void FinishEvent();
virtual Double_t TrackingZmax() const {return fTrZmax;}
virtual Double_t TrackingRmax() const {return fTrRmax;}
- virtual void Field(const Double_t* x, Double_t* b) const;
virtual Int_t DetFromMate(Int_t i) const { return (*fImedia)[i];}
//
void AddEnergyDeposit(Int_t id, Float_t edep)
{fEventEnergy[id]+=edep;}
virtual void ResetHits();
+ virtual void ResetDigits();
+ virtual void ResetSDigits();
virtual void TrackingLimits( Float_t rmax=1.e10, Float_t zmax=1.e10)
{fTrRmax=rmax; fTrZmax=zmax;}
virtual void DecayLimits( Float_t rmin = -1., Float_t rmax = -1., Int_t pdg = 0)
virtual void Init();
virtual void SetTransPar(const char *filename="$(ALICE_ROOT)/data/galice.cuts");
- virtual void Browse(TBrowser *b);
- AliMCQA *GetMCQA() const {return fMCQA;}
//PH
virtual void AddHit(Int_t id, Int_t track, Int_t *vol, Float_t *hits) const;
virtual void AddDigit(Int_t id, Int_t *tracks, Int_t *digits) const;
const TObjArray* Particles() const;
TParticle *Particle(Int_t i) const;
virtual void PushTrack(Int_t done, Int_t parent, Int_t pdg,
- Float_t *pmom, Float_t *vpos, Float_t *polar,
+ const Float_t *pmom, const Float_t *vpos, const Float_t *polar,
Float_t tof, TMCProcess mech, Int_t &ntr,
Float_t weight = 1, Int_t is = 0) const;
virtual void PushTrack(Int_t done, Int_t parent, Int_t pdg,
virtual void ResetTrackReferences();
virtual void FixParticleDecaytime();
private:
+ AliMC(const AliMC&); // Not implemented
+ AliMC& operator= (const AliMC&); // Not implemented
void MakeTmpTrackRefsTree();
void ReorderAndExpandTreeTR();
private:
- void Copy (TObject &mc) const;
void RemapHits();
AliGenerator *fGenerator; // Generator used in the MC
TArrayF fEventEnergy; //! Energy deposit for current event
Int_t fDecayPdg; // PDG code of particle with forced decay length
TArrayI *fImedia; //! Array of correspondence between media and detectors
TString fTransParName; // Name of the transport parameters file
- AliMCQA *fMCQA; // Pointer to MC Quality assurance class
TList *fHitLists; //! Lists of hits to be remapped by PurifyKine
//Temporary Track Reference tree related
TTree *fTmpTreeTR; //! Temporary track reference tree