X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFGeometryV5.h;h=565bc9a7d7ee147c1295a31d8360c9c28e3510b3;hb=035ae95d6ae2e3f29f5b09f500c4c95387644573;hp=06b2701b83db44b776b68cae99ce8438ea175173;hpb=a6a9820c8f584e802b97418cb4c0573396a0013a;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFGeometryV5.h b/TOF/AliTOFGeometryV5.h index 06b2701b83d..565bc9a7d7e 100644 --- a/TOF/AliTOFGeometryV5.h +++ b/TOF/AliTOFGeometryV5.h @@ -1,16 +1,15 @@ #ifndef ALITOFGEOMETRYV5_H #define ALITOFGEOMETRYV5_H + /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ - /////////////////////////////////////////////////////////////////////////////// // // // TOF geometry class (new version) // // // /////////////////////////////////////////////////////////////////////////////// - #include "AliTOFGeometry.h" class AliTOFGeometryV5: public AliTOFGeometry { @@ -21,46 +20,51 @@ class AliTOFGeometryV5: public AliTOFGeometry { void ImportGeometry(); void Init(); - Bool_t IsInsideThePad(Int_t *det, TGeoHMatrix mat, Float_t *pos); - Float_t DistanceToPad(Int_t *det, TGeoHMatrix mat, Float_t *pos, Float_t *dist3d=0); - Bool_t IsInsideThePadPar(Int_t *det, Float_t *pos); - Float_t DistanceToPadPar(Int_t *det, Float_t *pos, Float_t *dist3d=0); + Bool_t IsInsideThePad(TGeoHMatrix mat, Float_t *pos, Float_t *dist3d=0) const; + Bool_t IsInsideThePadPar(Int_t *det, Float_t *pos) const; + Float_t DistanceToPadPar(Int_t *det, Float_t *pos, Float_t *dist3d=0) const; void GetVolumePath(Int_t *ind, Char_t *path ); - Int_t GetPlate(Float_t *pos); - Int_t GetStrip(Float_t *pos); - Int_t GetSector(Float_t *pos); - Int_t GetPadX(Float_t *pos); - Int_t GetPadZ(Float_t *pos); + void GetVolumePath(Int_t sector, Char_t *path ); + void GetVolumePath(Int_t sector, Int_t plate, Int_t strip, Char_t *path ); + Int_t GetPlate(Float_t *pos) const; + Int_t GetStrip(Float_t *pos) const; + Int_t GetSector(Float_t *pos) const; + Int_t GetPadX(Float_t *pos) const; + Int_t GetPadZ(Float_t *pos) const; void GetPos(Int_t *det,Float_t *pos); - Float_t GetX(Int_t *det); - Float_t GetY(Int_t *det); - Float_t GetZ(Int_t *det); + Float_t GetX(Int_t *det) const; + Float_t GetY(Int_t *det) const; + Float_t GetZ(Int_t *det) const; Float_t GetPadDx(Float_t *pos); Float_t GetPadDy(Float_t *pos); Float_t GetPadDz(Float_t *pos); - Float_t NStirpC() { return kNStripC;}; - Int_t NPadXSector() { return (AliTOFGeometry::kNStripA + 2*AliTOFGeometry::kNStripB + + Int_t NStripC() const { return kNStripC;}; + Int_t NPadXSector() const { return (AliTOFGeometry::kNStripA + 2*AliTOFGeometry::kNStripB + 2*kNStripC)*AliTOFGeometry::kNpadX*AliTOFGeometry::kNpadZ;}; - Float_t RinTOF() { return fgkxTOF;}; - Float_t Rmin() { return fgkRmin;}; - Float_t Rmax() { return fgkRmax;}; + Float_t RinTOF() const { return fgkxTOF;}; + Float_t Rmin() const { return fgkRmin;}; + Float_t Rmax() const { return fgkRmax;}; - Float_t ZlenA() { return fgkZlenA;}; - Float_t ZlenB() { return fgkZlenB;}; - Float_t ZlenC() { return fgkZlenC;}; - Float_t MaxhZtof() { return fgkMaxhZtof;}; + Float_t ZlenA() const { return fgkZlenA;}; + Float_t ZlenB() const { return fgkZlenB;}; + Float_t ZlenC() const { return fgkZlenC;}; + Float_t MaxhZtof() const { return fgkMaxhZtof;}; - void Translation(Float_t *xyz, Float_t translationVector[3]); - void Rotation(Float_t *xyz, Double_t rotationAngles[6]); - void InverseRotation(Float_t *xyz, Double_t rotationAngles[6]); + void Translation(Float_t *xyz, Float_t translationVector[3]) const; + void Rotation(Float_t *xyz, Double_t rotationAngles[6]) const; + void InverseRotation(Float_t *xyz, Double_t rotationAngles[6]) const; + + void DetToSectorRF(Int_t vol[5], Double_t **coord); protected: - //private: + enum { + kNStripC = 19 // number of strips in C type module + }; - static const Int_t kNStripC; // number of strips in C type module + //private: static const Float_t fgkZlenA; // length (cm) of the A module static const Float_t fgkZlenB; // length (cm) of the B module