]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSTrackSegment.cxx
Coverity fix
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegment.cxx
index 3714274f41646bc771bb180c52fce751f4178f34..346f73d5a4521f0e5e4300740e62cb5167bc145d 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 /* $Id$ */
+
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.30  2006/08/28 10:01:56  kharlov
+ * Effective C++ warnings fixed (Timur Pocheptsov)
+ *
+ * Revision 1.29  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
+//           1 EmcRecPoint + 1 CPV + 1 charged track
 //                  
 //*-- Author:  Dmitri Peressounko (RRC KI & SUBATECH)
 
 // --- Standard library ---
 
 // --- AliRoot header files ---
-
+#include "AliPHOSEmcRecPoint.h" 
 #include "AliPHOSTrackSegment.h" 
+#include "AliESDtrack.h" 
+#include "AliLog.h" 
 
 ClassImp(AliPHOSTrackSegment)
 
+//____________________________________________________________________________
+AliPHOSTrackSegment::AliPHOSTrackSegment()
+                       : fEmcRecPoint(0),
+                         fIndexInList(0),
+                         fCpvRecPoint(0),
+                         fTrack(0)
+{
+  //def ctor
+  fDcpv[0]=999. ;
+  fDcpv[1]=999. ;
+}
+
 //____________________________________________________________________________
 AliPHOSTrackSegment::AliPHOSTrackSegment( AliPHOSEmcRecPoint * emc , 
-                                         AliPHOSRecPoint * ppsdrp1)
+                                         AliPHOSRecPoint * cpvrp1)
+                       : fEmcRecPoint(0),
+                         fIndexInList(0),
+                         fCpvRecPoint(0),
+                         fTrack(0)
 {
   // ctor
 
@@ -43,18 +73,82 @@ AliPHOSTrackSegment::AliPHOSTrackSegment( AliPHOSEmcRecPoint * emc ,
   else 
     fEmcRecPoint = -1 ;
 
-  if( ppsdrp1 )  
-    fPpsdUpRecPoint = ppsdrp1->GetIndexInList() ;
+  if( cpvrp1 )  
+    fCpvRecPoint = cpvrp1->GetIndexInList() ;
  else 
-    fPpsdUpRecPoint = -1 ;
+    fCpvRecPoint = -1 ;
+
+  fTrack = -1 ; 
+
+  fIndexInList = -1 ;
+  fDcpv[0]=999. ;
+  fDcpv[1]=999. ;
+}
+
+//____________________________________________________________________________
+AliPHOSTrackSegment::AliPHOSTrackSegment( AliPHOSEmcRecPoint * emc , 
+                                         AliPHOSRecPoint * cpvrp1, 
+                                         Int_t track)
+                       : fEmcRecPoint(0),
+                         fIndexInList(0),
+                         fCpvRecPoint(0),
+                         fTrack(0)
+{
+  // ctor
+
+  if( emc )   
+    fEmcRecPoint =  emc->GetIndexInList() ;
+  else 
+    fEmcRecPoint = -1 ;
+
+  if( cpvrp1 )  
+    fCpvRecPoint = cpvrp1->GetIndexInList() ;
+ else 
+    fCpvRecPoint = -1 ;
+  
+  fTrack = track ; 
+
+  fIndexInList = -1 ;
+  fDcpv[0]=999. ;
+  fDcpv[1]=999. ;
+}
 
+//____________________________________________________________________________
+AliPHOSTrackSegment::AliPHOSTrackSegment( AliPHOSEmcRecPoint * emc , 
+                                         AliPHOSRecPoint * cpvrp1, 
+                                         Int_t track, Float_t dx,Float_t dz)
+                       : fEmcRecPoint(0),
+                         fIndexInList(0),
+                         fCpvRecPoint(0),
+                         fTrack(0)
+{
+  // ctor
+
+  if( emc )   
+    fEmcRecPoint =  emc->GetIndexInList() ;
+  else 
+    fEmcRecPoint = -1 ;
+
+  if( cpvrp1 )  
+    fCpvRecPoint = cpvrp1->GetIndexInList() ;
+ else 
+    fCpvRecPoint = -1 ;
+  
+  fTrack = track ; 
 
   fIndexInList = -1 ;
+
+  fDcpv[0] = dx ;
+  fDcpv[1] = dz ;
 }
 
 //____________________________________________________________________________
 AliPHOSTrackSegment::AliPHOSTrackSegment( const AliPHOSTrackSegment & ts) 
-  : TObject(ts)
+  : TObject(ts),
+    fEmcRecPoint(0),
+    fIndexInList(0),
+    fCpvRecPoint(0),
+    fTrack(0)
 {
   // Copy ctor
 
@@ -63,41 +157,55 @@ AliPHOSTrackSegment::AliPHOSTrackSegment( const AliPHOSTrackSegment & ts)
 
 
 //____________________________________________________________________________
-void AliPHOSTrackSegment::Copy(TObject & obj) 
+void AliPHOSTrackSegment::Copy(TObject & obj) const
 {
   // Copy of a track segment into another track segment
 
    TObject::Copy(obj) ;
    ( (AliPHOSTrackSegment &)obj ).fEmcRecPoint     = fEmcRecPoint ; 
-   ( (AliPHOSTrackSegment &)obj ).fPpsdUpRecPoint  = fPpsdUpRecPoint ; 
+   ( (AliPHOSTrackSegment &)obj ).fCpvRecPoint     = fCpvRecPoint ; 
    ( (AliPHOSTrackSegment &)obj ).fIndexInList     = fIndexInList ; 
-}
+   ( (AliPHOSTrackSegment &)obj ).fTrack           = fTrack ;
+   ( (AliPHOSTrackSegment &)obj ).fDcpv[0]         = fDcpv[0] ;
+   ( (AliPHOSTrackSegment &)obj ).fDcpv[1]         = fDcpv[1] ;
+} 
+
 
 //____________________________________________________________________________
-void AliPHOSTrackSegment::Print(Option_t * opt) const
+void AliPHOSTrackSegment::Print(const Option_t *) const
 {
   // Print all information on this track Segment
   
 
-  Info("Print", "--------AliPHOSTrackSegment-------- ");
-  Info("Print", "Stored at position %d", fIndexInList) ;
-  Info("Print", "Emc RecPoint #     %d", fEmcRecPoint) ;
-  if(fPpsdUpRecPoint >= 0)
-    Info("Print", "CPV RecPoint #     %d", fPpsdUpRecPoint) ;
+  AliInfo("Track segment");
+  printf("Stored at position %d\n", fIndexInList) ;
+  printf(" Emc RecPoint #     %d\n", fEmcRecPoint) ;
+  if(fCpvRecPoint >= 0)
+    printf(" CPV RecPoint #     %d\n", fCpvRecPoint) ;
   else
-    Info("Print", "No CPV RecPoint ");
-
-  
-  Info("Print", "------------------------------------ ") ; 
-  
+    printf(" No CPV RecPoint\n");
+  if (fTrack >= 0) 
+    printf(" Charged track #     %d\n", fTrack) ;
+  else
+    printf(" No Charged track\n");
+  printf(" Distance to CPV: x=%f, z=%f\n",fDcpv[0],fDcpv[1]) ;
 }
+
 //____________________________________________________________________________
-void AliPHOSTrackSegment::SetCpvRecPoint(AliPHOSRecPoint * PpsdUpRecPoint) 
+void AliPHOSTrackSegment::SetCpvRecPoint(AliPHOSRecPoint * cpvRecPoint) 
 {
   // gives an id from its position in the list
-  if( PpsdUpRecPoint )  
-    fPpsdUpRecPoint = PpsdUpRecPoint->GetIndexInList() ;
+  if( cpvRecPoint )  
+    fCpvRecPoint = cpvRecPoint->GetIndexInList() ;
  else 
-    fPpsdUpRecPoint = -1 ;
+    fCpvRecPoint = -1 ;
 }
+//____________________________________________________________________________
+Float_t AliPHOSTrackSegment::GetCpvDistance(const Option_t* dr) const
+{
+ if(strcmp(dr,"x")==0||strcmp(dr,"X")==0) return fDcpv[0] ; 
+ if(strcmp(dr,"z")==0||strcmp(dr,"Z")==0) return fDcpv[1] ; 
+ if(strcmp(dr,"r")==0||strcmp(dr,"R")==0) return TMath::Sqrt(fDcpv[0]*fDcpv[0]+fDcpv[1]*fDcpv[1]) ; 
+ return 999. ;
 
+}