]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackingSector.h
Add INT7 on the trigger counter for QA purposes (D. Caffarri)
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackingSector.h
index e79f549a48800abd63fd67c21e24d41378dca1be..a9887b98295bce07caa5a3bf138434dea309c154 100644 (file)
@@ -2,45 +2,65 @@
 #define ALITRDTRACKINGSECTOR_H
 
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
+* See cxx source for full Copyright notice                               */
 
-/* $Id: AliTRDtrackingSector.h,v */
+/* $Id: AliTRDtrackingSector.h 22646 2007-11-29 18:13:40Z cblume $ */
 
-#include <TObject.h>
+////////////////////////////////////////////////////////////////////////////
+//                                                                        //
+// Data container for one TRD supermodule                                 // 
+//                                                                        // 
+// Authors:                                                               //
+//                                                                        //
+//    Marian Ivanov <M.Ivanov@gsi.de>                                     //
+//    Alex Bercuci <A.Bercuci@gsi.de>                                     //
+//                                                                        //
+////////////////////////////////////////////////////////////////////////////
 
-class AliTRDtimeBin;
-class AliTRDgeometry;
+#ifndef ALITRDGEOMETRY_H
+#include "AliTRDgeometry.h"
+#endif
 
-class AliTRDtrackingSector : public TObject {
-
-// Provides tools to address clusters which lay within one sector
+class AliTRDReconstructor;
+class AliTRDtrackingChamber;
+class AliTRDtrackingSector 
+{
 
 public:
+  AliTRDtrackingSector();
+  AliTRDtrackingSector(AliTRDgeometry* geo, Int_t gs);
+  virtual ~AliTRDtrackingSector(){;}
+    
+  void     Clear(const Option_t *opt = NULL);
+  Int_t    GetNChambers() const             { return fN; }
+  Double_t GetX(Int_t pl) const                  { return pl >=0 && pl < AliTRDgeometry::kNlayer ? fX0[pl] : 0.; }
+  AliTRDtrackingChamber* GetChamber(Int_t i) const  { return i>=0 && i < fN ? fChamber[i] : NULL;  }
+  AliTRDtrackingChamber* GetChamber(Int_t stack, Int_t plane, Bool_t build = kFALSE);
+  AliTRDtrackingChamber** GetStack(Int_t stack);
+  Int_t    GetSector() const {return fSector;} 
 
-  AliTRDtrackingSector() {fN=0; fTimeBin=0; fGeom=0; fTimeBinSize=0;}
-  virtual ~AliTRDtrackingSector();
-  virtual void SetUp();
-  AliTRDtimeBin& operator[](Int_t i);
-  Int_t GetNtimeBins() const { return fN; }
-  Double_t GetX(Int_t l) const;
-  Double_t GetMaxY(Int_t l) const; 
-  //Double_t GetAlpha() const { return 2*TMath::Pi()/kNsect; } 
-  Int_t GetTimeBinNumber(Double_t x) const;
-  Int_t GetTimeBin(Int_t det, Int_t local_tb) const;
-  Float_t GetPitch() const {return fTimeBinSize;}   
-
+  void     Init(const AliTRDReconstructor *rec);
+  void     Print(Option_t *opt = NULL) const;
+  
+  void     SetGeometry(AliTRDgeometry *const geo) {fGeom = geo;}
+  
+private:
+  AliTRDtrackingSector(const AliTRDtrackingSector &/*t*/);
+  AliTRDtrackingSector &operator=(const AliTRDtrackingSector &/*t*/);
 
-protected:
 
-  Int_t fN;
-  AliTRDgeometry          *fGeom;       // Pointer to TRD geometry
-  AliTRDtimeBin           *fTimeBin;    // Pointer to array of AliTRDtimeBin
-  Float_t                  fTimeBinSize;  // Time bin size in cm  
+private:
+  Char_t         fSector;           // Sector# in AliTRDgeometry
+  UChar_t        fN;                // Total number of chambers allocated
+  Char_t         fIndex[AliTRDgeometry::kNdets]; // indexes of allocated chambers
+  Float_t        fX0[AliTRDgeometry::kNlayer];      // average position of pad plane for each plane
+  AliTRDgeometry *fGeom;            // Geometry
+  AliTRDtrackingChamber *fChamber[AliTRDgeometry::kNdets];// chambers   
+  AliTRDtrackingChamber *fStack[AliTRDgeometry::kNlayer]; //! temporary holding one stack
 
+  ClassDef(AliTRDtrackingSector, 1) // TRD tracker container for one sector
+};
 
-  ClassDef(AliTRDtrackingSector,1)  // Provides tools to address clusters which lay within one sector
 
-}; 
+#endif // ALITRDTRACKINGSECTOR_H
 
-#endif