X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=ITS%2FAliITSsegmentationSDD.h;h=dacd449e5bda047afc4f9ed70dc6e1631aa48294;hb=15956755d233726f0fce136bce3431bf4bebf6c4;hp=44089d6d55a93a9ca88bc9bd301d26b003ca7d39;hpb=f6b6d58eb61ce9204a5ac3be880a8ee50112d01b;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSsegmentationSDD.h b/ITS/AliITSsegmentationSDD.h index 44089d6d55a..dacd449e5bd 100644 --- a/ITS/AliITSsegmentationSDD.h +++ b/ITS/AliITSsegmentationSDD.h @@ -13,10 +13,9 @@ public AliITSsegmentation { public: - AliITSsegmentationSDD(); + AliITSsegmentationSDD(Option_t *opt=""); AliITSsegmentationSDD(const AliITSsegmentationSDD &source); AliITSsegmentationSDD& operator=(const AliITSsegmentationSDD &source); - AliITSsegmentationSDD(AliITSgeom *gm); virtual ~AliITSsegmentationSDD(){} // Set Detector Segmentation Parameters @@ -53,6 +52,10 @@ public AliITSsegmentation { virtual void DetToLocal(Int_t ix,Int_t iz,Float_t &x,Float_t &z) const; // virtual Float_t GetAnodeFromLocal(Float_t x,Float_t z) const; + virtual Int_t GetSideFromLocalX(Float_t xloc) const { + if(xloc>0) return 0; // left side (channel 0) positive xloc + else return 1; // right side (channel 1) negative xloc + } virtual Float_t GetLocalZFromAnode(Int_t nAnode) const; virtual Float_t GetLocalZFromAnode(Float_t zAnode) const; virtual Float_t GetDriftTimeFromTb(Int_t tb) const { @@ -62,9 +65,21 @@ public AliITSsegmentation { virtual Float_t GetDriftTimeFromTb(Float_t xtb) const { return xtb*fTimeStep; } - // + virtual Int_t GetNumberOfChips() const { + return fgkNchipsPerHybrid; + } + virtual Int_t GetMaximumChipIndex() const{ + return fgkNchipsPerHybrid*2-1; + } + virtual Int_t GetChipFromLocal(Float_t xloc, Float_t zloc) const; + virtual Int_t GetChipsInLocalWindow(Int_t* array, Float_t zmin, Float_t zmax, Float_t xmin, Float_t xmax) const; + + + virtual Int_t GetChipFromChannel(Int_t ix, Int_t iz) const; + // Initialisation virtual void Init(); + // // Get member data // @@ -92,6 +107,7 @@ public AliITSsegmentation { // Print default parameters (static const data members, if any) virtual void PrintDefaultParameters() const; + static Int_t GetNAnodesPerHybrid() { return fgkHalfNanodesDefault;} protected: virtual void Copy(TObject &obj) const; @@ -109,9 +125,11 @@ public AliITSsegmentation { static const Float_t fgkClockDefault; //Default value for the clock freq. static const Int_t fgkHalfNanodesDefault; //Default value for fNanodes/2 static const Int_t fgkNsamplesDefault; //Default value for fNsamples - static const Float_t fgkCm2Micron; - static const Float_t fgkMicron2Cm; - ClassDef(AliITSsegmentationSDD,5) // SDD segmentation + static const Int_t fgkNchipsPerHybrid; //number of chips per hybrid + static const Int_t fgkNanodesPerChip; //number of chips per hybrid + static const Float_t fgkCm2Micron; // conversion from cm to micron + static const Float_t fgkMicron2Cm; // conversion from micron to cm + ClassDef(AliITSsegmentationSDD,6) // SDD segmentation }; #endif