1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 ///////////////////////////////////////////////////////////////////////////////
19 // Reconstructed space point class for set:ITS
20 // Reconstructed points are expressed simultaneously in two different
21 // reference frames, both differing from the global system.
22 // The first is referred to the sensor (see AliITSsegmentation for the
23 // definition) and each point is represented by two coordinates: fXloc and
24 // fZloc. This system in the code is referred to as "local"
25 // The second is used for tracking (V2, SA and MI versions) and the X axis
26 // represents the radial coordinate (this system is, in the bending plane,
27 // a rotated system w.r.t. the global reference system).
28 // Each reaconstructed point is represented by two coordinates: fY and fZ,
29 // inherited from AliCluster. This system in the code is referred to as
31 ///////////////////////////////////////////////////////////////////////////////
34 #include "AliITSRecPoint.h"
35 #include "AliITSgeom.h"
36 ClassImp(AliITSRecPoint)
38 //_____________________________________________________________
39 AliITSRecPoint::AliITSRecPoint(): AliCluster() {
42 fQ=0; fLayer=0; fNz=fNy=1; fType=0; fDeltaProb=0;fChargeRatio=0;
46 //_____________________________________________________________
47 AliITSRecPoint::AliITSRecPoint(AliITSgeom* geom): AliCluster() {
50 fQ=0; fLayer=0; fNz=fNy=1; fType=0; fDeltaProb=0;fChargeRatio=0;
54 //________________________________________________________________________
55 AliITSRecPoint::AliITSRecPoint(Int_t module,AliITSgeom* geom,Int_t *lab,Float_t *hit, Int_t *info):AliCluster(lab,hit){
56 //standard constructor used in AliITSClusterFinderV2
67 fGeom->TrackingV2ToDetL(module,fY,fZ,fXloc,fZloc);
68 if(module<fGeom->GetStartSDD()) fdEdX=0.;
69 if(module>=fGeom->GetStartSDD() && module<fGeom->GetStartSSD()){
72 if(module>=fGeom->GetStartSSD()) fdEdX=fQ*2.16;
76 //_______________________________________________________________________
77 AliITSRecPoint::AliITSRecPoint(const AliITSRecPoint& pt):AliCluster(pt){
87 fChargeRatio = pt.fChargeRatio;
89 fDeltaProb = pt.fDeltaProb;
94 //______________________________________________________________________
95 AliITSRecPoint& AliITSRecPoint::operator=(const AliITSRecPoint& /* source */){
96 // Assignment operator
97 // Assignment is not allowed. The method is protected to avoid misuse.
98 Fatal("= operator","Assignment operator not allowed\n");
102 //________________________________________________________________________
103 AliITSRecPoint::AliITSRecPoint(Int_t *lab,Float_t *hit, Int_t *info):AliCluster(lab,hit){
104 //standard constructor used in AliITSClusterFinderV2
105 fXloc=fZloc=fdEdX=0.;
117 //----------------------------------------------------------------------
118 void AliITSRecPoint::Print(ostream *os){
119 ////////////////////////////////////////////////////////////////////////
120 // Standard output format for this class.
121 ////////////////////////////////////////////////////////////////////////
129 #if defined __ICC || defined __ECC || defined __xlC__
136 fmt = os->setf(ios::fixed); // set fixed floating point output
137 *os << fTracks[0]<< " " << fTracks[1] << " " << fTracks[2] << " ";
138 *os << fXloc << " " << fZloc << " " << fQ << " ";
139 fmt = os->setf(ios::scientific); // set scientific for dEdX.
141 fmt = os->setf(ios::fixed); // every fixed
142 *os << fSigmaY2 << " " << fSigmaZ2;
143 os->flags(fmt); // reset back to old formating.
146 //----------------------------------------------------------------------
147 void AliITSRecPoint::Read(istream *is){
148 ////////////////////////////////////////////////////////////////////////
149 // Standard input format for this class.
150 ////////////////////////////////////////////////////////////////////////
153 *is >> fTracks[0] >> fTracks[1] >> fTracks[2] >> fXloc >> fZloc >> fQ;
154 *is >> fdEdX >> fSigmaY2 >> fSigmaZ2;
157 //----------------------------------------------------------------------
158 ostream &operator<<(ostream &os,AliITSRecPoint &p){
159 ////////////////////////////////////////////////////////////////////////
160 // Standard output streaming function.
161 ////////////////////////////////////////////////////////////////////////
166 //----------------------------------------------------------------------
167 istream &operator>>(istream &is,AliITSRecPoint &r){
168 ////////////////////////////////////////////////////////////////////////
169 // Standard input streaming function.
170 ////////////////////////////////////////////////////////////////////////
175 //----------------------------------------------------------------------