Inheritance from TObject. Automatic streamers.
[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 #include <iostream.h>
30
31 // --- AliRoot header files ---
32
33 #include "AliPHOSTrackSegment.h" 
34
35 ClassImp(AliPHOSTrackSegment)
36
37 //____________________________________________________________________________
38 AliPHOSTrackSegment::AliPHOSTrackSegment( AliPHOSEmcRecPoint * emc , 
39                                           AliPHOSRecPoint * ppsdrp1)
40 {
41   // ctor
42
43   if( emc )   
44     fEmcRecPoint =  emc->GetIndexInList() ;
45   else 
46     fEmcRecPoint = -1 ;
47
48   if( ppsdrp1 )  
49     fPpsdUpRecPoint = ppsdrp1->GetIndexInList() ;
50  else 
51     fPpsdUpRecPoint = -1 ;
52
53
54   fIndexInList = -1 ;
55 }
56
57 //____________________________________________________________________________
58 AliPHOSTrackSegment::AliPHOSTrackSegment( const AliPHOSTrackSegment & ts) 
59 {
60   // Copy ctor
61
62   ( (AliPHOSTrackSegment &)ts ).Copy(*this) ; 
63 }
64
65
66 //____________________________________________________________________________
67 void AliPHOSTrackSegment::Copy(TObject & obj) 
68 {
69   // Copy of a track segment into another track segment
70
71    TObject::Copy(obj) ;
72    ( (AliPHOSTrackSegment &)obj ).fEmcRecPoint     = fEmcRecPoint ; 
73    ( (AliPHOSTrackSegment &)obj ).fPpsdUpRecPoint  = fPpsdUpRecPoint ; 
74    ( (AliPHOSTrackSegment &)obj ).fIndexInList     = fIndexInList ; 
75 }
76
77 //____________________________________________________________________________
78 void AliPHOSTrackSegment::Print(Option_t * opt) const
79 {
80   // Print all information on this track Segment
81   
82
83   cout << "--------AliPHOSTrackSegment-------- "<<endl ;
84   cout << "Stored at position " << fIndexInList << endl ;
85   cout << "Emc RecPoint #     " << fEmcRecPoint << endl ;
86   if(fPpsdUpRecPoint >= 0)
87     cout << "CPV RecPoint #      " << fPpsdUpRecPoint << endl ;
88   else
89     cout << "No CPV RecPoint " << endl ;
90
91   
92   cout << "------------------------------------ " << endl ; 
93   
94 }
95 //____________________________________________________________________________
96 void AliPHOSTrackSegment::SetCpvRecPoint(AliPHOSRecPoint * PpsdUpRecPoint) 
97 {
98   // gives an id from its position in the list
99   if( PpsdUpRecPoint )  
100     fPpsdUpRecPoint = PpsdUpRecPoint->GetIndexInList() ;
101  else 
102     fPpsdUpRecPoint = -1 ;
103 }
104