AliTrackReference added, AliDisplay modified
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 24 May 2002 13:29:58 +0000 (13:29 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 24 May 2002 13:29:58 +0000 (13:29 +0000)
STEER/AliDetector.cxx
STEER/AliDetector.h
STEER/AliDisplay.cxx
STEER/AliDisplay.h
STEER/AliModule.h
STEER/AliRun.cxx
STEER/AliRun.h
STEER/AliTrackReference.cxx [new file with mode: 0644]
STEER/AliTrackReference.h [new file with mode: 0644]
STEER/Makefile
STEER/STEERLinkDef.h

index 0c7adea..2f96d9a 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.16  2001/10/04 15:30:56  hristov
+Changes to accommodate the set of PHOS folders and tasks (Y.Schutz)
+
 Revision 1.15  2001/07/27 13:03:13  hristov
 Default Branch split level set to 99
 
@@ -82,11 +85,14 @@ Introduction of the Copyright and cvs Log
 #include "AliRun.h"
 #include "AliHit.h"
 #include "AliPoints.h"
+#include "AliTrackReference.h"
+
 
 // Static variables for the hit iterator routines
 static Int_t sMaxIterHit=0;
 static Int_t sCurIterHit=0;
 
+
 ClassImp(AliDetector)
  
 //_____________________________________________________________________________
@@ -99,6 +105,7 @@ AliDetector::AliDetector()
   fNdigits    = 0;
   fPoints     = 0;
   fHits       = 0;
+  fTrackReferences =0;
   fDigits     = 0;
   fTimeGate   = 200.e-9;
   fBufferSize = 16000;
@@ -118,6 +125,7 @@ AliDetector::AliDetector(const char* name,const char *title):AliModule(name,titl
   fActive     = kTRUE;
   fNhits      = 0;
   fHits       = 0;
+  fTrackReferences =0;
   fDigits     = 0;
   fNdigits    = 0;
   fPoints     = 0;
@@ -125,6 +133,10 @@ AliDetector::AliDetector(const char* name,const char *title):AliModule(name,titl
   fDigitsFile = 0;
 
   AliConfig::Instance()->Add(this);
+
+  fTrackReferences        = new TClonesArray("AliTrackReference", 100);
+  //if detector to want to create another track reference - than let's be free 
+  
 }
  
 //_____________________________________________________________________________
@@ -229,6 +241,11 @@ TBranch* AliDetector::MakeBranchInTree(TTree *tree, const char* name, const char
       folder     = "RunMC/Event/Data/Hits";
       folderName = "Hits" ; 
     }
+    if (!strncmp(tree->GetName(),"TreeTrackReferences",5)) {
+      folder     = "RunMC/Event/Data/TrackReferences";
+      folderName = "TrackReferences" ; 
+    }
+
     if (!strncmp(tree->GetName(),"TreeD",5)) {
       folder     = "Run/Event/Data";
       folderName = "Digits" ; 
@@ -304,6 +321,30 @@ AliHit* AliDetector::FirstHit(Int_t track)
   else            return 0;
 }
 
+
+//_____________________________________________________________________________
+AliTrackReference* AliDetector::FirstTrackReference(Int_t track)
+{
+  //
+  // Initialise the hit iterator
+  // Return the address of the first hit for track
+  // If track>=0 the track is read from disk
+  // while if track<0 the first hit of the current
+  // track is returned
+  // 
+  if(track>=0) {
+    gAlice->ResetTrackReferences();
+    gAlice->TreeTR()->GetEvent(track);
+  }
+  //
+  sMaxIterHit=fTrackReferences->GetEntriesFast();
+  sCurIterHit=0;
+  if(sMaxIterHit) return (AliTrackReference*) fTrackReferences->UncheckedAt(0);
+  else            return 0;
+}
+
+
+
 //_____________________________________________________________________________
 AliHit* AliDetector::NextHit()
 {
@@ -320,6 +361,22 @@ AliHit* AliDetector::NextHit()
     return 0;
   }
 }
+//_____________________________________________________________________________
+AliTrackReference* AliDetector::NextTrackReference()
+{
+  //
+  // Return the next hit for the current track
+  //
+  if(fMaxIterTrackRef) {
+    if(++fCurrentIterTrackRef<fMaxIterTrackRef) 
+      return (AliTrackReference*) fTrackReferences->UncheckedAt(fCurrentIterTrackRef);
+    else        
+      return 0;
+  } else {
+    printf("* AliDetector::NextTrackReference * TrackReference  Iterator called without calling FistTrackReference before\n");
+    return 0;
+  }
+}
 
 //_____________________________________________________________________________
 void AliDetector::LoadPoints(Int_t)
@@ -419,6 +476,25 @@ void AliDetector::MakeBranch(Option_t *option, const char *file)
     }
   }
 }
+//_____________________________________________________________________________
+void AliDetector::MakeBranchTR(Option_t *option, const char *file)
+{
+  //
+  // Create a new branch in the current Root Tree
+  // The branch of fHits is automatically split
+  //
+  char branchname[10];
+  sprintf(branchname,"%s",GetName());
+  //
+  // Get the pointer to the header
+  const char *cTR = strstr(option,"T");
+  //
+  if (fTrackReferences && gAlice->TreeTR() && cTR) {
+    MakeBranchInTree(gAlice->TreeTR(), 
+                     branchname, &fTrackReferences, fBufferSize, file) ;              
+  }      
+}
 
 //_____________________________________________________________________________
 void AliDetector::ResetDigits()
@@ -440,6 +516,20 @@ void AliDetector::ResetHits()
   if (fHits)   fHits->Clear();
 }
 
+
+
+//_____________________________________________________________________________
+void AliDetector::ResetTrackReferences()
+{
+  //
+  // Reset number of hits and the hits array
+  //
+  fMaxIterTrackRef   = 0;
+  if (fTrackReferences)   fTrackReferences->Clear();
+}
+
+
+
 //_____________________________________________________________________________
 void AliDetector::ResetPoints()
 {
index 95fe6a2..49185cc 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <AliModule.h>
 class AliHit;
+class AliTrackReference;
 class TTree;
 class TBranch;
 
@@ -26,6 +27,8 @@ public:
   virtual int   GetNhits()   const {return fNhits;}
   TClonesArray *Digits() const {return fDigits;}
   TClonesArray *Hits()   const {return fHits;}
+  TClonesArray *TrackReferences()   const {return fTrackReferences;}
+
   TObjArray    *Points() const {return fPoints;}
   Int_t         GetIshunt() const {return fIshunt;}
   void          SetIshunt(Int_t ishunt) {fIshunt=ishunt;}
@@ -38,8 +41,11 @@ public:
   virtual void        FinishRun();
   virtual void        LoadPoints(Int_t track);
   virtual void        MakeBranch(Option_t *opt=" ", const char *file=0 );
+  virtual void        MakeBranchTR(Option_t *opt=" ", const char *file=0 );
   virtual void        ResetDigits();
   virtual void        ResetHits();
+  virtual void        ResetTrackReferences();
+
   virtual void        ResetPoints();
   virtual void        SetTreeAddress();
   virtual void        SetTimeGate(Float_t gate) {fTimeGate=gate;}
@@ -48,6 +54,8 @@ public:
   virtual void        DrawModule() {}
   virtual AliHit*     FirstHit(Int_t track);
   virtual AliHit*     NextHit();
+  virtual AliTrackReference * FirstTrackReference(Int_t track);
+  virtual AliTrackReference * NextTrackReference();
   virtual void        SetBufferSize(Int_t bufsize=8000) {fBufferSize = bufsize;}  
   virtual TBranch*    MakeBranchInTree(TTree *tree, const char* cname, void* address, Int_t size=32000, const char *file=0);
   virtual TBranch*    MakeBranchInTree(TTree *tree, const char* cname, const char* name, void* address, Int_t size=32000, Int_t splitlevel=99, const char *file=0);
@@ -65,7 +73,9 @@ protected:
   TClonesArray *fDigits;      //List of digits for this detector
   char         *fDigitsFile;  //!File to store branches of digits tree for detector 
   TObjArray    *fPoints;      //!Array of points for each track (all tracks in memory)
-
+  TClonesArray *fTrackReferences; //!list of track references - for one primary track only -MI
+  Int_t         fMaxIterTrackRef; //!for track refernce iterator routines
+  Int_t         fCurrentIterTrackRef; //!for track refernce iterator routines
   ClassDef(AliDetector,1)  //Base class for ALICE detectors
 };
 #endif
index 3cc8877..5909989 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.17  2001/10/21 18:38:44  hristov
+Several pointers were set to zero in the default constructors to avoid memory management problems
+
 Revision 1.16  2001/07/25 15:23:50  hristov
 Changes needed to run with Root 3.01 (R.Brun)
 
@@ -77,6 +80,7 @@ Introduction of the Copyright and cvs Log
 #include <TMath.h>
 
 #include "AliRun.h"
+#include "AliStack.h"
 #include "AliDetector.h"
 #include "AliDisplay.h"
 #include "AliPoints.h"
@@ -109,6 +113,8 @@ AliDisplay::AliDisplay()
   fZoomButton = 0;
   fArcButton = 0;
   fFruits = 0;
+  fTracksToDisplay =0;
+  fNTracksToDisplay =0;
 }
 
 //_____________________________________________________________________________
@@ -292,7 +298,8 @@ AliDisplay::AliDisplay(Int_t size)
 
    fTrigPad->SetEditable(kFALSE);
    fButtons->SetEditable(kFALSE);
-   
+   fTracksToDisplay =0;
+   fNTracksToDisplay =0;   
 
    fCanvas->cd();
    fCanvas->Update();
@@ -774,6 +781,13 @@ void AliDisplay::ExecuteEvent(Int_t event, Int_t px, Int_t py)
 
 }
  
+
+void AliDisplay::SetTracksToDisplay(Int_t *tracks, Int_t n){
+  //
+  // set tracks to display  - MI
+  fTracksToDisplay = tracks;
+  fNTracksToDisplay = n;
+}
 //___________________________________________
 void AliDisplay::LoadPoints()
 {
@@ -784,14 +798,28 @@ void AliDisplay::LoadPoints()
    TIter next(gAlice->Modules());
    AliModule *module;
    Int_t ntracks = gAlice->GetNtrack();
-   for (Int_t track=0; track<ntracks;track++) {
+   
+   // load only wanted tracks
+   if (fNTracksToDisplay>0){
+     Int_t nprim =  gAlice->Stack()->GetNprimary();
+     for (Int_t track=0; track<fNTracksToDisplay;track++) {
       gAlice->ResetHits();
-      gAlice->TreeH()->GetEvent(track);
+      gAlice->TreeH()->GetEvent(nprim-1-gAlice->GetPrimary(fTracksToDisplay[track]));
       while((module = (AliModule*)next())) {
-         module->LoadPoints(track);
+       module->LoadPoints(nprim-1-gAlice->GetPrimary(fTracksToDisplay[track]));
       }
       next.Reset();
+     }
    }
+   else
+     for (Int_t track=0; track<ntracks;track++) {
+       gAlice->ResetHits();
+       gAlice->TreeH()->GetEvent(track);
+       while((module = (AliModule*)next())) {
+         module->LoadPoints(track);
+       }
+       next.Reset();
+     }
 }
 
 //_____________________________________________________________________________
index 1fe233f..b1b7ac9 100644 (file)
@@ -66,6 +66,7 @@ public:
    virtual void      UnZoom(); // *MENU*
    AliDisplay&       operator= (const AliDisplay &disp);
    
+   void              SetTracksToDisplay(Int_t *tracks, Int_t n);  // set tracks to display
 protected:
    Int_t             fZoomMode;             //=1 if in zoom mode
    Bool_t            fDrawAllViews;         //Flag True if AllViews selected
@@ -97,6 +98,8 @@ protected:
    TArc             *fArcButton;            //Gren/Red button to show Pick/Zoom mode
    TList            *fFruits;               //List for fruits
 
+   Int_t            *fTracksToDisplay;      // array of tracks to display
+   Int_t             fNTracksToDisplay;     // number of tracks to display
    ClassDef(AliDisplay, 0)   //Utility class to display ALICE outline, tracks, hits,..
 };
 
index b0acac3..033501b 100644 (file)
@@ -93,11 +93,13 @@ public:
   //virtual void        Hits2Digits() {}
   virtual void        Init() {}
   virtual void        LoadPoints(Int_t ) {}
-  virtual void        MakeBranch(Option_t *, const char *file=0 ) {}
+  virtual void        MakeBranch(Option_t *, const char *file=0 ) {} 
+  virtual void        MakeBranchTR(Option_t *opt=" ", const char *file=0 ){}
   virtual void        Paint(Option_t *) {}
   virtual void        ResetDigits() {}
   virtual void        ResetSDigits() {}
   virtual void        ResetHits() {}
+  virtual void        ResetTrackReferences() {}
   virtual void        ResetPoints() {}
   virtual void        SetTreeAddress() {}
   virtual void        SetTimeGate(Float_t) {}
index cd47246..868e490 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.84  2002/05/21 16:26:07  hristov
+Find correctly TreeK in case CONFIG_SPLIT_FILE is set (Y.Schutz)
+
 Revision 1.83  2002/04/04 13:16:17  jchudoba
 add possibility to write sdigits, digits and rec. points into separate files
 
@@ -292,6 +295,7 @@ AliRun::AliRun()
   fGenerator = 0;
   fTreeD     = 0;
   fTreeH     = 0;
+  fTreeTR    = 0;
   fTreeE     = 0;
   fTreeR     = 0;
   fTreeS     = 0;
@@ -336,6 +340,7 @@ AliRun::AliRun(const char *name, const char *title)
   gAlice     = this;
   fTreeD     = 0;
   fTreeH     = 0;
+  fTreeTR    = 0;
   fTreeE     = 0;
   fTreeR     = 0;
   fTreeS     = 0;
@@ -419,6 +424,7 @@ AliRun::~AliRun()
   delete fLego;
   delete fTreeD;
   delete fTreeH;
+  delete fTreeTR;
   delete fTreeE;
   delete fTreeR;
   delete fTreeS;
@@ -488,6 +494,7 @@ void AliRun::Browse(TBrowser *b)
     
   if (pTreeK) b->Add(pTreeK,pTreeK->GetName());
   if (fTreeH) b->Add(fTreeH,fTreeH->GetName());
+  if (fTreeTR) b->Add(fTreeTR,fTreeH->GetName());
   if (fTreeD) b->Add(fTreeD,fTreeD->GetName());
   if (fTreeE) b->Add(fTreeE,fTreeE->GetName());
   if (fTreeR) b->Add(fTreeR,fTreeR->GetName());
@@ -647,6 +654,12 @@ void AliRun::FinishPrimary()
   if (gAlice->TreeH()) {
     gAlice->TreeH()->Fill();
   }
+
+  // Write out hits if any
+  if (gAlice->TreeTR()) {
+    gAlice->TreeTR()->Fill();
+  }
+
   
   //
   //  if(++count%times==1) gObjectTable->Print();
@@ -661,7 +674,7 @@ void AliRun::BeginPrimary()
   
   // Reset Hits info
   gAlice->ResetHits();
-
+  gAlice->ResetTrackReferences();
 }
 
 //_____________________________________________________________________________
@@ -703,6 +716,7 @@ void AliRun::FinishEvent()
   TTree* pTreeK = fStack->TreeK();
   if (pTreeK) pTreeK->Write(0,TObject::kOverwrite);
   if (fTreeH) fTreeH->Write(0,TObject::kOverwrite);
+  if (fTreeTR) fTreeTR->Write(0,TObject::kOverwrite);
   
   ++fEvent;
   ++fEventNrInRun;
@@ -744,6 +758,10 @@ void AliRun::FinishRun()
   if (fTreeH) {
     delete fTreeH; fTreeH = 0;
   }
+  if (fTreeTR) {
+    delete fTreeTR; fTreeTR = 0;
+  }
+
   if (fTreeD) {
     delete fTreeD; fTreeD = 0;
   }
@@ -876,11 +894,13 @@ Int_t AliRun::GetEvent(Int_t event)
 
   // Reset existing structures
   ResetHits();
+  ResetTrackReferences();
   ResetDigits();
   ResetSDigits();
   
   // Delete Trees already connected
   if (fTreeH) { delete fTreeH; fTreeH = 0;}
+  if (fTreeTR) { delete fTreeTR; fTreeTR = 0;}
   if (fTreeD) { delete fTreeD; fTreeD = 0;}
   if (fTreeR) { delete fTreeR; fTreeR = 0;}
   if (fTreeS) { delete fTreeS; fTreeS = 0;}
@@ -924,6 +944,13 @@ Int_t AliRun::GetEvent(Int_t event)
       Error("GetEvent","cannot find Hits Tree for event:%d\n",event);
   }
 
+  // Get TracReferences Tree header from file
+  sprintf(treeName,"TreeTR%d",event);
+  fTreeTR = (TTree*)gDirectory->Get(treeName);
+  if (!fTreeTR) {
+      Error("GetEvent","cannot find TrackRefernces Tree for event:%d\n",event);
+  }
+
   // get current file name and compare with names containing trees S,D,R
   TString curfilname=(TString)fTreeE->GetCurrentFile()->GetName();
   if(fTreeDFileName==curfilname)fTreeDFileName="";
@@ -1343,6 +1370,7 @@ void AliRun::MakeTree(Option_t *option, const char *file)
   // Analyse options
   const char *oK = strstr(option,"K");
   const char *oH = strstr(option,"H");
+  const char *oTR = strstr(option,"T");
   const char *oE = strstr(option,"E");
   const char *oD = strstr(option,"D");
   const char *oR = strstr(option,"R");
@@ -1388,6 +1416,14 @@ void AliRun::MakeTree(Option_t *option, const char *file)
     fTreeH->SetAutoSave(1000000000); //no autosave
     fTreeH->Write(0,TObject::kOverwrite);
   }
+
+  if (oTR && !fTreeTR) {
+    sprintf(hname,"TreeTR%d",fEvent);
+    fTreeTR = new TTree(hname,"TrackReferences");
+    fTreeTR->SetAutoSave(1000000000); //no autosave
+    fTreeTR->Write(0,TObject::kOverwrite);
+  }
+
   if (oD && !fTreeD) {
     sprintf(hname,"TreeD%d",fEvent);
     fTreeD = new TTree(hname,"Digits");
@@ -1411,8 +1447,11 @@ void AliRun::MakeTree(Option_t *option, const char *file)
   TIter next(fModules);
   AliModule *detector;
   while((detector = (AliModule*)next())) {
-     if (oH) detector->MakeBranch(option,file);
+     if (oH) detector->MakeBranch(option,file); 
+     if (oTR) detector->MakeBranchTR(option,file);
   }
+
+
 }
 
 //_____________________________________________________________________________
@@ -1452,6 +1491,7 @@ void AliRun::BeginEvent()
   //
 
   ResetHits();
+  ResetTrackReferences();
   ResetDigits();
   ResetSDigits();
 
@@ -1461,6 +1501,13 @@ void AliRun::BeginEvent()
     sprintf(hname,"TreeH%d",fEvent);
     fTreeH->SetName(hname);
   }
+
+  if(fTreeTR) {
+    fTreeTR->Reset();
+    sprintf(hname,"TreeTR%d",fEvent);
+    fTreeTR->SetName(hname);
+  }
+
   if(fTreeD) {
     fTreeD->Reset();
     sprintf(hname,"TreeD%d",fEvent);
@@ -1520,6 +1567,21 @@ void AliRun::ResetHits()
 }
 
 //_____________________________________________________________________________
+void AliRun::ResetTrackReferences()
+{
+  //
+  //  Reset all Detectors hits
+  //
+  TIter next(fModules);
+  AliModule *detector;
+  while((detector = (AliModule*)next())) {
+     detector->ResetTrackReferences();
+  }
+}
+
+
+
+//_____________________________________________________________________________
 void AliRun::ResetPoints()
 {
   //
@@ -1548,7 +1610,7 @@ void AliRun::RunMC(Int_t nevent, const char *setup)
   
   // Create the Root Tree with one branch per detector
 
-   MakeTree("ESDR");
+  MakeTree("ESDRT"); // MI change
 
   if (gSystem->Getenv("CONFIG_SPLIT_FILE")) {
      MakeTree("K","Kine.root");
index 7beaf6c..073cbe5 100644 (file)
@@ -114,6 +114,7 @@ public:
    virtual  void  ResetDigits();
    virtual  void  ResetSDigits();
    virtual  void  ResetHits();
+   virtual  void  ResetTrackReferences();
    virtual  void  ResetPoints();
    virtual  void  SetTransPar(char *filename="$(ALICE_ROOT)/data/galice.cuts");
    virtual  void  SetBaseFile(char *filename="galice.root");
@@ -172,6 +173,7 @@ public:
    TTree         *TreeS() {return fTreeS;}
    TTree         *TreeE() {return fTreeE;}
    TTree         *TreeH() {return fTreeH;}
+   TTree         *TreeTR() {return fTreeTR;}
    TTree         *TreeK() ;
    TTree         *TreeR() {return fTreeR;}
 
@@ -189,6 +191,7 @@ protected:
   TTree         *fTreeD;             //! Pointer to Tree for Digits
   TTree         *fTreeS;             //! Pointer to Tree for SDigits
   TTree         *fTreeH;             //! Pointer to Tree for Hits
+  TTree         *fTreeTR;            //! Pointer to Tree for TrackRefernces
   TTree         *fTreeE;             //! Pointer to Tree for Header
   TTree         *fTreeR;             //! Pointer to Tree for Reconstructed Objects
   TObjArray     *fModules;           //  List of Detectors
diff --git a/STEER/AliTrackReference.cxx b/STEER/AliTrackReference.cxx
new file mode 100644 (file)
index 0000000..fac67b2
--- /dev/null
@@ -0,0 +1,29 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+
+#include "AliTrackReference.h"
+#include "TParticle.h"
+#include "AliRun.h"
+
+ClassImp(AliTrackReference)
+
+AliTrackReference::AliTrackReference()
+{
+  //
+  // Default constructor
+  //
+  fTrack=0;    
+}
diff --git a/STEER/AliTrackReference.h b/STEER/AliTrackReference.h
new file mode 100644 (file)
index 0000000..ab4bd47
--- /dev/null
@@ -0,0 +1,36 @@
+#ifndef ALITRACKREFERENCE_H
+#define ALITRACKREFERENCE_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+/* $Id$ */
+
+#include "TObject.h"
+
+class AliTrackReference : public TObject {
+public:
+  AliTrackReference();
+  virtual ~AliTrackReference() {}
+  virtual Int_t GetTrack() const {return fTrack;}
+  virtual void SetTrack(Int_t track) {fTrack=track;}
+  virtual Float_t X() const {return fX;}
+  virtual Float_t Y() const {return fY;}
+  virtual Float_t Z() const {return fZ;}
+  virtual Float_t Px() const {return fPx;}
+  virtual Float_t Py() const {return fPy;}
+  virtual Float_t Pz() const {return fPz;}
+  virtual void SetPosition(Float_t x, Float_t y, Float_t z){fX=x; fY=y; fZ=z;}
+  virtual void SetMomentum(Float_t px, Float_t py, Float_t pz){fPx=px; fPy=py; fPz=pz;}
+
+protected:
+  Int_t     fTrack;  // Track number
+  Float_t   fX;      // X reference position of the track
+  Float_t   fY;      // Y reference position of the track
+  Float_t   fZ;      // Z reference position of the track
+  Float_t   fPx;     // momentum
+  Float_t   fPy;     // momentum
+  Float_t   fPz;     // momentum
+
+  ClassDef(AliTrackReference,1)  //Base class for all Alice hits
+};
+#endif
index 928e300..f21a5e6 100644 (file)
@@ -24,7 +24,7 @@ SRCS          = AliDetector.cxx       AliHeader.cxx   AliMagF.cxx \
                AliRunDigitizer.cxx AliDigitizer.cxx\
                AliStream.cxx AliMergeCombi.cxx \
                AliMagFMaps.cxx AliFieldMap.cxx \
-        AliGausCorr.cxx AliESD.cxx
+                AliGausCorr.cxx AliTrackReference.cxx AliESD.cxx
 
 # C++ Headers
 
index b2aba80..b74bce8 100644 (file)
@@ -56,6 +56,7 @@
 #pragma link C++ class  AliMergeCombi+;
 #pragma link C++ class  AliFieldMap-;
 #pragma link C++ class  AliGausCorr+;
+#pragma link C++ class  AliTrackReference+;
 #pragma link C++ class  AliESD+;
 #pragma link C++ class  AliESDTrack+;
 #pragma link C++ class  AliESDVertex+;