#ifndef ALIFLOWTRACK_H
#define ALIFLOWTRACK_H
#include "AliFlowTrackSimple.h"
class AliVParticle;
class AliFlowTrack: public AliFlowTrackSimple {
public:
enum trackSource { kFromESD=0,
kFromMC=1,
kFromAOD=2,
kFromTracklet=3,
kFromFMD=4,
kFromPMD=5,
kFromV0=6,
kFromMUON=7,
kFromKink };
AliFlowTrack();
AliFlowTrack(const AliVParticle* p);
AliFlowTrack& operator=(const AliFlowTrack& aTrack);
AliFlowTrack(const AliFlowTrack& aTrack);
virtual ~AliFlowTrack();
virtual AliFlowTrack* Clone(const char* option="") const;
void Set(const AliVParticle* p);
void SetSource( trackSource s )
{ fTrackSourceBits.SetBitNumber(UInt_t(s),kTRUE); }
Bool_t IsSource( trackSource s ) const
{ return fTrackSourceBits.TestBitNumber(s); }
virtual void Clear(Option_t* o="") {AliFlowTrackSimple::Clear(o); fTrackSourceBits.Clear();}
private:
TBits fTrackSourceBits;
ClassDef(AliFlowTrack,1);
};
#endif