]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackingSector.h
updated ldif configuration
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackingSector.h
index 7e38676d7009af3956e65a2a3c91e83d9f62f98c..0224f8ae667dda9df4379bffc5c3dd732503aa3d 100644 (file)
@@ -4,40 +4,68 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * 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 ROOT_Rtypes
+#include "Rtypes.h"
+#endif
 
-class AliTRDtrackingSector : public TObject {
+class AliTRDtrackingChamber;
+class AliTRDgeometry;
 
-// Provides tools to address clusters which lay within one sector
+class AliTRDtrackingSector 
+{
 
 public:
+       enum{
+               kNChambersSector   = 30
+               , kNplane          = 6
+               , kTrackingSectors = 18
+       };
+       
+       AliTRDtrackingSector();
+       AliTRDtrackingSector(AliTRDgeometry* geo, Int_t gs);
+       AliTRDtrackingSector(const AliTRDtrackingSector &/*t*/);
+       virtual ~AliTRDtrackingSector();
+       
+       AliTRDtrackingSector &operator=(const AliTRDtrackingSector &/*t*/) { return *this; }
+       
+  void     Clear(const Option_t *opt = 0x0);
+       Int_t    GetNChambers() const             { return fN; }
+       Double_t GetX(Int_t pl) const                  { return pl >=0 && pl < kNplane ? fX0[pl] : 0.; }
+       AliTRDtrackingChamber* GetChamber(Int_t i) const  { return i>=0 && i < fN ? fChamber[i] : 0x0;  }
+       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 tb) const;
-  Int_t   GetTimeBinNumber(Double_t x) const;
-  Int_t   GetTimeBin(Int_t det, Int_t local_tb) const;
-  Bool_t  TECframe(Int_t tb, Double_t y, Double_t z) const;
-
-protected:
+       void     Init();
+       void     Print(Option_t *opt = 0x0);
+       
+       void     SetGeometry(AliTRDgeometry *geo) {fGeom = geo;}
+        
+private:
+       Char_t         fSector;           // Sector# in AliTRDgeometry
+       UChar_t        fN;                // Total number of chambers allocated
+       Char_t         fIndex[kNChambersSector]; // indexes of allocated chambers
+       Float_t        fX0[kNplane];      // average position of pad plane for each plane
+       AliTRDgeometry *fGeom;            // Geometry
+       AliTRDtrackingChamber *fChamber[kNChambersSector];// chambers   
+       AliTRDtrackingChamber *fStack[kNplane]; //! temporary holding one stack
 
-  Int_t fN;
-  AliTRDgeometry          *fGeom;       // Pointer to TRD geometry
-  AliTRDtimeBin           *fTimeBin;    // Pointer to array of AliTRDtimeBin
-  Float_t                  fTimeBinSize;  // Time bin size in cm  
-                                             
-  ClassDef(AliTRDtrackingSector,1)  // Provides tools to address clusters which lay within one sector
+       ClassDef(AliTRDtrackingSector, 1) // TRD tracker container for one sector
+};
 
-}; 
 
+#endif // ALITRDTRACKINGSECTOR_H
 
-#endif