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 **************************************************************************/
19 // A track class for use in AliFlowEvent for flow analysis
20 // origin: Mikolaj Krzewicki (mikolaj.krzewicki@cern.ch)
22 #include "AliVParticle.h"
23 #include "AliFlowTrack.h"
24 #include "AliFlowTrackSimple.h"
26 ClassImp(AliFlowTrack)
28 //-----------------------------------------------------------------------
29 AliFlowTrack::AliFlowTrack():
36 //-----------------------------------------------------------------------
37 AliFlowTrack::AliFlowTrack(AliVParticle* p):
45 SetCharge(p->Charge());
48 //-----------------------------------------------------------------------
49 AliFlowTrack::AliFlowTrack(const AliFlowTrack& aTrack):
50 AliFlowTrackSimple(aTrack),
51 fTrackSourceBits(aTrack.fTrackSourceBits)
56 //-----------------------------------------------------------------------
57 AliFlowTrack* AliFlowTrack::Clone(const char* /*option*/) const
60 return new AliFlowTrack(*this);
63 //-----------------------------------------------------------------------
64 AliFlowTrack& AliFlowTrack::operator=(const AliFlowTrack& aTrack)
67 AliFlowTrackSimple::operator=(aTrack);
68 fTrackSourceBits = aTrack.fTrackSourceBits;
72 //-----------------------------------------------------------------------
73 AliFlowTrackSimple& AliFlowTrack::operator=(const AliFlowTrackSimple& aTrack)
75 //polymorphic assignment
76 AliFlowTrackSimple::operator=(aTrack);
77 const AliFlowTrack* pft = dynamic_cast<const AliFlowTrack*>(&aTrack);
80 fTrackSourceBits = pft->fTrackSourceBits;
84 fTrackSourceBits.ResetAllBits();
90 //-----------------------------------------------------------------------
91 AliFlowTrack::~AliFlowTrack()