Transition to NewIO
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegment.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15 /* $Id$ */
16 //_________________________________________________________________________
17 //  Track segment in PHOS
18 //  Can be : 1 EmcRecPoint
19 //           1 EmcRecPoint + 1 PPSD
20 //           1 EmcRecPoint + 1 PPSD + 1 PPSD     
21 //                  
22 //*-- Author:  Dmitri Peressounko (RRC KI & SUBATECH)
23
24 // --- ROOT system ---
25  
26
27 // --- Standard library ---
28
29 // --- AliRoot header files ---
30
31 #include "AliPHOSTrackSegment.h" 
32
33 ClassImp(AliPHOSTrackSegment)
34
35 //____________________________________________________________________________
36 AliPHOSTrackSegment::AliPHOSTrackSegment( AliPHOSEmcRecPoint * emc , 
37                                           AliPHOSRecPoint * ppsdrp1)
38 {
39   // ctor
40
41   if( emc )   
42     fEmcRecPoint =  emc->GetIndexInList() ;
43   else 
44     fEmcRecPoint = -1 ;
45
46   if( ppsdrp1 )  
47     fPpsdUpRecPoint = ppsdrp1->GetIndexInList() ;
48  else 
49     fPpsdUpRecPoint = -1 ;
50
51
52   fIndexInList = -1 ;
53 }
54
55 //____________________________________________________________________________
56 AliPHOSTrackSegment::AliPHOSTrackSegment( const AliPHOSTrackSegment & ts) 
57 {
58   // Copy ctor
59
60   ( (AliPHOSTrackSegment &)ts ).Copy(*this) ; 
61 }
62
63
64 //____________________________________________________________________________
65 void AliPHOSTrackSegment::Copy(TObject & obj) 
66 {
67   // Copy of a track segment into another track segment
68
69    TObject::Copy(obj) ;
70    ( (AliPHOSTrackSegment &)obj ).fEmcRecPoint     = fEmcRecPoint ; 
71    ( (AliPHOSTrackSegment &)obj ).fPpsdUpRecPoint  = fPpsdUpRecPoint ; 
72    ( (AliPHOSTrackSegment &)obj ).fIndexInList     = fIndexInList ; 
73 }
74
75 //____________________________________________________________________________
76 void AliPHOSTrackSegment::Print(Option_t * opt) const
77 {
78   // Print all information on this track Segment
79   
80
81   Info("Print", "--------AliPHOSTrackSegment-------- ");
82   Info("Print", "Stored at position %d", fIndexInList) ;
83   Info("Print", "Emc RecPoint #     %d", fEmcRecPoint) ;
84   if(fPpsdUpRecPoint >= 0)
85     Info("Print", "CPV RecPoint #     %d", fPpsdUpRecPoint) ;
86   else
87     Info("Print", "No CPV RecPoint ");
88
89   
90   Info("Print", "------------------------------------ ") ; 
91   
92 }
93 //____________________________________________________________________________
94 void AliPHOSTrackSegment::SetCpvRecPoint(AliPHOSRecPoint * PpsdUpRecPoint) 
95 {
96   // gives an id from its position in the list
97   if( PpsdUpRecPoint )  
98     fPpsdUpRecPoint = PpsdUpRecPoint->GetIndexInList() ;
99  else 
100     fPpsdUpRecPoint = -1 ;
101 }
102