/* $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() {
- // default ctor
- }
+ AliPHOSTrackSegment() ;
+ AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint ,
+ AliPHOSRecPoint * Cpv) ;
AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint ,
- AliPHOSPpsdRecPoint * PpsdUp,
- AliPHOSPpsdRecPoint * PpsdLow ) ; // ctor
+ 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
- }
-
- 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() ; // 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) ;
- 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 ;
- 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 ;
- }
+ virtual ~AliPHOSTrackSegment() { }
+
+ 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:
+ AliPHOSTrackSegment & operator = (const AliPHOSTrackSegment & /*ts*/);
private:
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) // Track segment in PHOS
+ 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
};