-#ifndef ALITRDTRACKLETBASE_H\r
-#define ALITRDTRACKLETBASE_H\r
-\r
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
- * See cxx source for full Copyright notice */\r
-\r
-/* $Id: AliTRDtrackletBase.h 26327 2008-06-02 15:36:18Z cblume $ */\r
-\r
-////////////////////////////////////////////////////////////////////////////\r
-// //\r
-// TRD tracklet //\r
-// abstract base class for TRD tracklets //\r
-// //\r
-// Authors //\r
-// Alex Bercuci (A.Bercuci@gsi.de) //\r
-// Jochen Klein (jochen.klein@cern.ch) //\r
-// //\r
-////////////////////////////////////////////////////////////////////////////\r
-\r
-#ifndef ROOT_TObject\r
-#include "TObject.h"\r
-#endif\r
-\r
-class AliTRDtrackletBase : public TObject {\r
-\r
- public:\r
-\r
- AliTRDtrackletBase() : TObject() {}\r
- AliTRDtrackletBase(const AliTRDtrackletBase &o) : TObject(o) {}\r
- virtual ~AliTRDtrackletBase() {}\r
-\r
- virtual Bool_t CookPID() = 0;\r
-\r
- virtual Int_t GetDetector() const = 0 ;\r
-\r
- virtual Float_t GetX() const = 0;\r
- virtual Float_t GetY() const = 0;\r
- virtual Float_t GetZ() const = 0;\r
- virtual Float_t GetdYdX() const = 0;\r
- virtual Float_t GetdZdX() const { return 0; }\r
-\r
- virtual Int_t GetdY() const = 0; // in units of 140um\r
- virtual Int_t GetYbin() const = 0; // in units of 160um\r
- virtual Int_t GetZbin() const = 0; // in pad length units\r
-\r
- virtual Double_t GetPID(Int_t is=-1) const = 0;\r
-\r
- virtual void LocalToGlobal(Float_t&, Float_t&, Float_t&, Float_t&) {}\r
-\r
- virtual void Print(Option_t * /*option=""*/) const {}\r
-\r
- virtual UInt_t GetTrackletWord() const = 0;\r
-\r
- virtual void SetDetector(Int_t id) = 0;\r
-\r
- protected:\r
-\r
- ClassDef(AliTRDtrackletBase, 1); // Base class for TRD on- and offline tracklets\r
-\r
-};\r
-\r
-#endif\r
+#ifndef ALITRDTRACKLETBASE_H
+#define ALITRDTRACKLETBASE_H
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/* $Id: AliTRDtrackletBase.h 26327 2008-06-02 15:36:18Z cblume $ */
+
+////////////////////////////////////////////////////////////////////////////
+// //
+// TRD tracklet //
+// abstract base class for TRD tracklets //
+// //
+// Authors //
+// Alex Bercuci (A.Bercuci@gsi.de) //
+// Jochen Klein (jochen.klein@cern.ch) //
+// //
+////////////////////////////////////////////////////////////////////////////
+
+#ifndef ROOT_TObject
+#include "TObject.h"
+#endif
+
+class AliTRDtrackletBase : public TObject {
+
+ public:
+
+ AliTRDtrackletBase() : TObject() {}
+ AliTRDtrackletBase(const AliTRDtrackletBase &o) : TObject(o) {}
+ virtual ~AliTRDtrackletBase() {}
+
+ AliTRDtrackletBase& operator=(const AliTRDtrackletBase &o) { TObject::operator=(o); return *this; }
+
+ virtual Bool_t CookPID() = 0;
+
+ virtual Int_t GetDetector() const = 0 ;
+ virtual Int_t GetHCId() const { return 2 * GetDetector() + (GetYbin() > 0 ? 1 : 0); }
+
+ virtual Float_t GetX() const = 0;
+ virtual Float_t GetY() const = 0;
+ virtual Float_t GetZ() const = 0;
+ virtual Float_t GetdYdX() const = 0;
+ virtual Float_t GetdZdX() const { return 0; }
+
+ virtual Int_t GetdY() const = 0; // in units of 140um
+ virtual Int_t GetYbin() const = 0; // in units of 160um
+ virtual Int_t GetZbin() const = 0; // in pad length units
+
+ virtual Double_t GetPID(Int_t is=-1) const = 0;
+
+ virtual void LocalToGlobal(Float_t&, Float_t&, Float_t&, Float_t&) {}
+
+ virtual void Print(Option_t * /*option=""*/) const {}
+
+ virtual UInt_t GetTrackletWord() const = 0;
+
+ virtual void SetDetector(Int_t id) = 0;
+
+ protected:
+
+ ClassDef(AliTRDtrackletBase, 1); // Base class for TRD on- and offline tracklets
+
+};
+
+#endif