]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSTrackSegment.h
Put back the two bellows in front of the absorber.
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegment.h
index c72e77664ef395eb9ed27113ef947264ffd12e63..01f169db887be01f9c3cc3181a91b4ceed96f5fd 100644 (file)
@@ -1,19 +1,17 @@
-#ifndef ALIPHOSSUBTRACK_H
-#define ALIPHOSSUBTRACK_H
+#ifndef ALIPHOSTRACKSEGMENT_H
+#define ALIPHOSTRACKSEGMENT_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
 /* $Id$ */
 
-/////////////////////////////////////////////////
-//  Short description                          //
-//  Version SUBATECH                           //
-//  Author Dmitri Peressounko RRC KI           //
-//      comment: contains pairs (triplets) of  //  
-//               EMC+PPSD(+PPSD) clusters, and //
-//               evaluates particle type,      // 
-//               energy, etc                   //
-/////////////////////////////////////////////////
+//_________________________________________________________________________
+//  Track segment in PHOS
+//  Can be : 1 EmcRecPoint
+//           1 EmcRecPoint + 1 PPSD
+//           1 EmcRecPoint + 1 PPSD + 1 PPSD     
+//                  
+//*-- Author:  Dmitri Peressounko (RRC KI & SUBATECH)
 
 // --- ROOT system ---
 
@@ -31,38 +29,67 @@ class AliPHOSTrackSegment : public TObject  {
 
 public:
 
-  AliPHOSTrackSegment() {} ;       // ctor 
-  AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , AliPHOSPpsdRecPoint * PpsdUp, 
+  AliPHOSTrackSegment() {
+    // default ctor
+  } 
+  AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , 
+                     AliPHOSPpsdRecPoint * PpsdUp, 
                      AliPHOSPpsdRecPoint * PpsdLow  ) ; // ctor
   AliPHOSTrackSegment(const AliPHOSTrackSegment & ts) ;  // ctor                   
-  virtual ~AliPHOSTrackSegment() ; // dtor 
+  virtual ~AliPHOSTrackSegment() {
+    // dtor
+  } 
 
   void Copy(TObject & obj) ;  
   virtual Int_t  DistancetoPrimitive(Int_t px, Int_t py);
   virtual void   Draw(Option_t * option="") ;
   virtual void   ExecuteEvent(Int_t event, Int_t px, Int_t py);
-  Float_t GetEnergy(){ return fEmcRecPoint->GetTotalEnergy() ;}   // Returns energy in EMC
+  Float_t GetEnergy() ;   // Returns energy in EMC
   
   Float_t GetDistanceInPHOSPlane(void) ;   // Computes in PHOS plane the relative position between EMC and PPSD clusters 
-  virtual Int_t  GetPHOSMod(void) {return fEmcRecPoint->GetPHOSMod();  }
+  virtual Int_t  GetPHOSMod(void) 
   TVector3 GetMomentumDirection() ;        // Returns the momentum direction
-  void GetPosition( TVector3 & pos ) ;     // Returns positions of hit
-  AliPHOSEmcRecPoint * GetEmcRecPoint() const { return fEmcRecPoint ; } 
-  AliPHOSPpsdRecPoint * GetPpsdLow() const { return fPpsdLow ; } 
-  AliPHOSPpsdRecPoint * GetPpsdUp() const { return fPpsdUp ; } 
-  virtual  void  Paint(Option_t * option="");
-  void Print() ;
-  
-  
-private:
+  void    GetPosition( TVector3 & pos ) ;  // Returns positions of hit
+  Int_t * GetPrimariesEmc(Int_t & number) ;
+  Int_t * GetPrimariesPpsdLow(Int_t & number) ;
+  Int_t * GetPrimariesPpsdUp(Int_t & number) ;
+  AliPHOSEmcRecPoint *   GetEmcRecPoint() const ;  
+  Int_t   GetIndexInList() const { 
+    // returns the index of this in the list  
+    return fIndexInList ; 
+  } 
+  Int_t                   GetEmcRecPointIndex() {
+    // return the index of the EMC recpoint at the origine of this 
+    return fEmcRecPoint ; 
+  }
+  AliPHOSPpsdRecPoint *  GetPpsdLowRecPoint() const ;
+  Int_t                  GetPpsdLowRecPointIndex() {
+    // returns the PPSD low recpoint at the origin of this 
+    return fPpsdLowRecPoint ; 
+  }
+  AliPHOSPpsdRecPoint *  GetPpsdUpRecPoint() const ; 
+  Int_t                  GetPpsdUpRecPointIndex() {
+    // returns the PPSD up recpoint at the origin of this 
+    return fPpsdUpRecPoint ; 
+  }
+  virtual void  Paint(Option_t * option="");
+  virtual void  Print(const char *) ;
+  void    SetIndexInList(Int_t val) { 
+    // sets the index value  of this in the list 
+    fIndexInList = val ; 
+  } 
+
+  typedef TClonesArray TrackSegmentsList ; 
+ private:
   
-  AliPHOSEmcRecPoint  * fEmcRecPoint ;
-  AliPHOSPpsdRecPoint * fPpsdLow ;
-  AliPHOSPpsdRecPoint * fPpsdUp ;
+  Int_t fEmcRecPoint ;     // The EMC reconstructed point index in array stored in TreeR/PHOSEmcRP
+  Int_t fIndexInList ;     // the index of this TrackSegment in the list stored in TreeR (to be set by analysis)
+  Int_t fPpsdLowRecPoint ; // The PPSD reconstructed point from the lower layer index in array stored in TreeR/PHOSPpsdRP
+  Int_t fPpsdUpRecPoint ;  // The PPSD reconstructed point from the upper layer index in array stored in TreeR/PHOSPpsdRP
   
-
-  ClassDef(AliPHOSTrackSegment,1)  // description , version 1
+  ClassDef(AliPHOSTrackSegment,1)  // Track segment in PHOS
 
 };
 
-#endif // AliPHOSSUBTRACK_H
+#endif // ALIPHOSTRACKSEGMENT_H