ROOT logo
#ifndef ALITRDTRACKINGSECTOR_H
#define ALITRDTRACKINGSECTOR_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice                               */

/* $Id: AliTRDtrackingSector.h 22646 2007-11-29 18:13:40Z cblume $ */

////////////////////////////////////////////////////////////////////////////
//                                                                        //
// Data container for one TRD supermodule                                 // 
//                                                                        // 
// Authors:                                                               //
//                                                                        //
//    Marian Ivanov <M.Ivanov@gsi.de>                                     //
//    Alex Bercuci <A.Bercuci@gsi.de>                                     //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#ifndef ALITRDGEOMETRY_H
#include "AliTRDgeometry.h"
#endif

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;}	

  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*/);


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
};


#endif // ALITRDTRACKINGSECTOR_H

 AliTRDtrackingSector.h:1
 AliTRDtrackingSector.h:2
 AliTRDtrackingSector.h:3
 AliTRDtrackingSector.h:4
 AliTRDtrackingSector.h:5
 AliTRDtrackingSector.h:6
 AliTRDtrackingSector.h:7
 AliTRDtrackingSector.h:8
 AliTRDtrackingSector.h:9
 AliTRDtrackingSector.h:10
 AliTRDtrackingSector.h:11
 AliTRDtrackingSector.h:12
 AliTRDtrackingSector.h:13
 AliTRDtrackingSector.h:14
 AliTRDtrackingSector.h:15
 AliTRDtrackingSector.h:16
 AliTRDtrackingSector.h:17
 AliTRDtrackingSector.h:18
 AliTRDtrackingSector.h:19
 AliTRDtrackingSector.h:20
 AliTRDtrackingSector.h:21
 AliTRDtrackingSector.h:22
 AliTRDtrackingSector.h:23
 AliTRDtrackingSector.h:24
 AliTRDtrackingSector.h:25
 AliTRDtrackingSector.h:26
 AliTRDtrackingSector.h:27
 AliTRDtrackingSector.h:28
 AliTRDtrackingSector.h:29
 AliTRDtrackingSector.h:30
 AliTRDtrackingSector.h:31
 AliTRDtrackingSector.h:32
 AliTRDtrackingSector.h:33
 AliTRDtrackingSector.h:34
 AliTRDtrackingSector.h:35
 AliTRDtrackingSector.h:36
 AliTRDtrackingSector.h:37
 AliTRDtrackingSector.h:38
 AliTRDtrackingSector.h:39
 AliTRDtrackingSector.h:40
 AliTRDtrackingSector.h:41
 AliTRDtrackingSector.h:42
 AliTRDtrackingSector.h:43
 AliTRDtrackingSector.h:44
 AliTRDtrackingSector.h:45
 AliTRDtrackingSector.h:46
 AliTRDtrackingSector.h:47
 AliTRDtrackingSector.h:48
 AliTRDtrackingSector.h:49
 AliTRDtrackingSector.h:50
 AliTRDtrackingSector.h:51
 AliTRDtrackingSector.h:52
 AliTRDtrackingSector.h:53
 AliTRDtrackingSector.h:54
 AliTRDtrackingSector.h:55
 AliTRDtrackingSector.h:56
 AliTRDtrackingSector.h:57
 AliTRDtrackingSector.h:58
 AliTRDtrackingSector.h:59
 AliTRDtrackingSector.h:60
 AliTRDtrackingSector.h:61
 AliTRDtrackingSector.h:62
 AliTRDtrackingSector.h:63
 AliTRDtrackingSector.h:64
 AliTRDtrackingSector.h:65
 AliTRDtrackingSector.h:66