Adding detector ID to the track references
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 19 May 2006 12:54:41 +0000 (12:54 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 19 May 2006 12:54:41 +0000 (12:54 +0000)
STEER/AliModule.cxx
STEER/AliModule.h
STEER/AliTrackReference.cxx
STEER/AliTrackReference.h

index a7d8e78d179372426c7385563e55d8e249a6783f..4fd333f2223b549a31c0f7d3ee4f3d6d433a0a8a 100644 (file)
@@ -803,16 +803,16 @@ void AliModule::SetTreeAddress()
 }
 
 //_____________________________________________________________________________
-void  AliModule::AddTrackReference(Int_t label){
+AliTrackReference*  AliModule::AddTrackReference(Int_t label){
   //
   // add a trackrefernce to the list
   if (!fTrackReferences) {
     AliError("Container trackrefernce not active");
-    return;
+    return 0;
   }
   Int_t nref = fTrackReferences->GetEntriesFast();
   TClonesArray &lref = *fTrackReferences;
-  new(lref[nref]) AliTrackReference(label);
+  return new(lref[nref]) AliTrackReference(label);
 }
 
 
index d77678f72940e007f8a3e0d96b090c5020cd64da..2e902166be73556d6eddcdbb89bc2adfe831af30 100644 (file)
@@ -144,7 +144,7 @@ public:
   virtual void        RemapTrackHitIDs(Int_t *) {}
   virtual void        RemapTrackReferencesIDs(Int_t *map); //remaping track references MI
   virtual void        ResetTrackReferences();
-  virtual void        AddTrackReference(Int_t label);
+  virtual  AliTrackReference * AddTrackReference(Int_t label);
   virtual  AliTrackReference * FirstTrackReference(Int_t track);
   virtual  AliTrackReference * NextTrackReference();
   virtual void        MakeBranchTR(Option_t *opt=" ");
index ba9d83a17c8e9a450d9872e8fdc947b52adccd35..2e684ed2ae45ddafd6cc6e199132e83a42dafc42 100644 (file)
@@ -48,7 +48,8 @@ ClassImp(AliTrackReference)
    fPy(0),
    fPz(0),
    fLength(0),
-   fTime(0)
+   fTime(0),
+   fUserId(0)
 {
   //
   // Default constructor
@@ -68,7 +69,8 @@ AliTrackReference::AliTrackReference(Int_t label) :
   fPy(0),
   fPz(0),
   fLength(gMC->TrackLength()),
-  fTime(gMC->TrackTime())
+  fTime(gMC->TrackTime()),
+  fUserId(0)
 {
   //
   // Create Reference object out of label and
index 3e4e2cb1245d7595bbf897ea170ecabd0f389648..87669d21df48e79d7a8eb556b68cf6cdc74b3773 100644 (file)
@@ -44,8 +44,10 @@ public:
   virtual Float_t Py() const {return fPy;}
   virtual Float_t Pz() const {return fPz;}
   virtual Float_t P() const {return TMath::Sqrt(fPx*fPx+fPy*fPy+fPz*fPz);}
+  virtual Int_t   UserId() const {return fUserId;}
   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;}
+  virtual void SetUserId(Int_t userId){fUserId=userId;}
 
   // Methods to get position of the track reference in 
   // in the TPC/TRD/TOF Tracking coordinate system
@@ -67,7 +69,8 @@ protected:
   Float_t   fPz;     // momentum
   Float_t   fLength; // track lenght from its origin in cm
   Float_t   fTime;   // time of flight in cm  
+  Int_t     fUserId; // optional Id defined by user
 
-  ClassDef(AliTrackReference,3)  //Base class for all Alice track references
+  ClassDef(AliTrackReference,4)  //Base class for all Alice track references
 };
 #endif