From 0c71f50b3ecaa2af9444baf21012c326bf2e8a42 Mon Sep 17 00:00:00 2001 From: cblume Date: Tue, 1 Jul 2008 12:26:58 +0000 Subject: [PATCH] Add new tracklet base class --- TRD/AliTRDtrackletBase.cxx | 34 +++++++++++++++++++++ TRD/AliTRDtrackletBase.h | 62 ++++++++++++++++++++++++++++++++++++++ TRD/TRDbaseLinkDef.h | 1 + TRD/libTRDbase.pkg | 1 + 4 files changed, 98 insertions(+) create mode 100644 TRD/AliTRDtrackletBase.cxx create mode 100644 TRD/AliTRDtrackletBase.h diff --git a/TRD/AliTRDtrackletBase.cxx b/TRD/AliTRDtrackletBase.cxx new file mode 100644 index 00000000000..b1860371bcb --- /dev/null +++ b/TRD/AliTRDtrackletBase.cxx @@ -0,0 +1,34 @@ +/************************************************************************** +* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * +* * +* Author: The ALICE Off-line Project. * +* Contributors are mentioned in the code where appropriate. * +* * +* Permission to use, copy, modify and distribute this software and its * +* documentation strictly for non-commercial purposes is hereby granted * +* without fee, provided that the above copyright notice appears in all * +* copies and that both the copyright notice and this permission notice * +* appear in the supporting documentation. The authors make no claims * +* about the suitability of this software for any purpose. It is * +* provided "as is" without express or implied warranty. * +**************************************************************************/ + +/* $Id: AliTRDtrackletBase.cxx 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) // +// // +//////////////////////////////////////////////////////////////////////////// + +#include "AliTRDtrackletBase.h" + +ClassImp(AliTRDtrackletBase) + +//_____________________________________________________________________________ + diff --git a/TRD/AliTRDtrackletBase.h b/TRD/AliTRDtrackletBase.h new file mode 100644 index 00000000000..ee9a9ff4091 --- /dev/null +++ b/TRD/AliTRDtrackletBase.h @@ -0,0 +1,62 @@ +#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() {} + + virtual Bool_t CookPID() = 0; + + virtual Int_t GetDetector() const = 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 diff --git a/TRD/TRDbaseLinkDef.h b/TRD/TRDbaseLinkDef.h index c050816e5fe..fdedfa5458c 100644 --- a/TRD/TRDbaseLinkDef.h +++ b/TRD/TRDbaseLinkDef.h @@ -81,6 +81,7 @@ #pragma link C++ class AliTRDmcmTracklet+; #pragma link C++ class AliTRDmcm+; #pragma link C++ class AliTRDmcmSim+; +#pragma link C++ class AliTRDtrackletBase+; #pragma link C++ class AliTRDltuTracklet+; #pragma link C++ class AliTRDgtuTrack+; #pragma link C++ class AliTRDtrapAlu++; diff --git a/TRD/libTRDbase.pkg b/TRD/libTRDbase.pkg index 0f93c1595fb..282d6080fc7 100644 --- a/TRD/libTRDbase.pkg +++ b/TRD/libTRDbase.pkg @@ -58,6 +58,7 @@ SRCS= AliTRDarrayI.cxx \ AliTRDmcmSim.cxx \ AliTRDtrigParam.cxx \ AliTRDtrigger.cxx \ + AliTRDtrackletBase.cxx \ AliTRDltuTracklet.cxx \ AliTRDgtuTrack.cxx \ AliTRDtrapAlu.cxx \ -- 2.43.0