]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSTrackSegment.h
cmake update (Oystein)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegment.h
index 42acd2f2e4a3bf143840134454d0a38acb5dc8d0..34c161f1f8c150f3e9fd7ac1fc052291f87ce218 100644 (file)
@@ -1,71 +1,82 @@
-#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$ */
 
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.23  2006/08/28 10:01:56  kharlov
+ * Effective C++ warnings fixed (Timur Pocheptsov)
+ *
+ * Revision 1.22  2005/05/28 14:19:05  schutz
+ * Compilation warnings fixed by T.P.
+ *
+ */
+
 //_________________________________________________________________________
 //  Track segment in PHOS
 //  Can be : 1 EmcRecPoint
-//           1 EmcRecPoint + 1 PPSD
-//           1 EmcRecPoint + 1 PPSD + 1 PPSD     
+//           1 EmcRecPoint + 1 CPV
 //                  
 //*-- Author:  Dmitri Peressounko (RRC KI & SUBATECH)
 
 // --- ROOT system ---
 
 #include "TObject.h"
-#include "TVector3.h"
+class TClonesArray ; 
 
 // --- Standard library ---
 
 // --- AliRoot header files ---
-
-#include "AliPHOSEmcRecPoint.h"
-#include "AliPHOSPpsdRecPoint.h"
+class AliPHOSRecPoint ; 
+class AliPHOSEmcRecPoint ; 
+class AliPHOSCpvRecPoint ; 
+class AliESDtrack ; 
 
 class AliPHOSTrackSegment : public TObject  {
 
 public:
 
-  AliPHOSTrackSegment() {}       // ctor 
-  AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , AliPHOSPpsdRecPoint * PpsdUp, 
-                     AliPHOSPpsdRecPoint * PpsdLow  ) ; // ctor
+  AliPHOSTrackSegment() ;
+  AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , 
+                     AliPHOSRecPoint * Cpv) ;
+  AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , 
+                     AliPHOSRecPoint * Cpv, Int_t track) ;
+  AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , 
+                     AliPHOSRecPoint * Cpv, Int_t track, 
+                      Float_t dx, Float_t dz) ;
   AliPHOSTrackSegment(const AliPHOSTrackSegment & ts) ;  // ctor                   
-  virtual ~AliPHOSTrackSegment() {} // dtor 
+  virtual ~AliPHOSTrackSegment() {  } 
 
-  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 GetDistanceInPHOSPlane(void) ;   // Computes in PHOS plane the relative position between EMC and PPSD clusters 
-  virtual Int_t  GetPHOSMod(void) {return fEmcRecPoint->GetPHOSMod();  }
-  TVector3 GetMomentumDirection() ;        // Returns the momentum direction
-  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 { return fEmcRecPoint ; } 
-  AliPHOSPpsdRecPoint * GetPpsdLow() const { return fPpsdLow ; } 
-  AliPHOSPpsdRecPoint * GetPpsdUp() const { return fPpsdUp ; } 
-  virtual  void  Paint(Option_t * option="");
-  void Print() ;
-  
-  
-private:
+  void    SetCpvDistance(Float_t x,Float_t z){fDcpv[0]=x ; fDcpv[1]=z ; }
+
+  void Copy(TObject & obj) const;  
+
+  Int_t   GetIndexInList() const {  return fIndexInList ;   } 
+  Int_t   GetEmcIndex()    const {  return fEmcRecPoint ;   }
+  Int_t   GetCpvIndex()    const {  return fCpvRecPoint; }
+  Int_t   GetTrackIndex()  const {  return fTrack; }
+  Float_t GetCpvDistance(const Option_t* dr="r") const ;
+
+  virtual void  Print(const Option_t * = "") const;
+  void    SetIndexInList(Int_t val){ fIndexInList = val ;     } 
+  void    SetCpvRecPoint(AliPHOSRecPoint * CpvRecPoint ); //sets CPV Rec Point
+
+  typedef TClonesArray TrackSegmentsList ; 
+ private:
   
-  AliPHOSEmcRecPoint  * fEmcRecPoint ; //! The EMC reconstructed point
-  AliPHOSPpsdRecPoint * fPpsdLow ;     //! The PPSD reconstructed point from the lower layer
-  AliPHOSPpsdRecPoint * fPpsdUp ;      //! The PPSD reconstructed point from the upper layer
-  Int_t fEmcRecPointId ; // The EMC reconstructed point Id in the list
-  Int_t fPpsdLowId ;     // The PPSD reconstructed point from the lower layer Id in the list
-  Int_t fPpsdUpId ;      // The PPSD reconstructed point from the upper layer Id in the list
+  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 fCpvRecPoint ;     // The CPV reconstructed point in array stored in TreeR/PHOSCpvRP
+  Int_t fTrack ;           // The charged track index (from global tracking) in ESD file 
+  Float_t fDcpv[2] ;       // Distance to projection of CPV cluster
 
 ClassDef(AliPHOSTrackSegment,1)  // Track segment in PHOS
+ ClassDef(AliPHOSTrackSegment,1)  // Track segment in PHOS
 
 };
 
-#endif // AliPHOSSUBTRACK_H
+#endif // ALIPHOSTRACKSEGMENT_H