+ 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 {
+ Float_t xtb=(Float_t)tb+0.5;
+ return GetDriftTimeFromTb(xtb);
+ }
+ 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;
+