]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSgeom.h
readers updated (mini header -> data header)
[u/mrichter/AliRoot.git] / ITS / AliITSgeom.h
index 05e368a2379d29ac3b55b333ecf693ebcaa0c56b..da35309e8c7b90c6085d0ee00dced2bbde0cc258 100644 (file)
@@ -35,8 +35,8 @@ class AliITSgeom : public TObject {
     AliITSgeom(const char *filename);  // Constructor
     AliITSgeom(Int_t itype,Int_t nlayers,Int_t *nlads,Int_t *ndets,
               Int_t nmods); // Constructor
-    AliITSgeom(AliITSgeom &source);    // Copy constructor
-    AliITSgeom& operator=(AliITSgeom &source);// = operator
+    AliITSgeom(const AliITSgeom &source);    // Copy constructor
+    AliITSgeom& operator=(const AliITSgeom &source);// = operator
     virtual ~AliITSgeom();             // Default destructor
     // this function allocates a AliITSgeomMatrix for a particular module.
     void CreatMatrix(Int_t mod,Int_t lay,Int_t lad,Int_t det,
@@ -73,10 +73,10 @@ class AliITSgeom : public TObject {
        return (AliITSgeomMatrix*)(fGm->At(index));}
     //     This function returns the number of detectors/ladder for a give 
     // layer. In particular it returns fNdet[layer-1].
-    Int_t GetNdetectors(Int_t lay) const;
+    Int_t GetNdetectors(Int_t lay) const {return fNdet[lay-1];}
     //     This function returns the number of ladders for a give layer. In
     // particular it returns fNlad[layer-1].
-    Int_t GetNladders(Int_t lay)   const;
+    Int_t GetNladders(Int_t lay)   const {return fNlad[lay-1];};
     //     This function returns the number of layers defined in the ITS
     // geometry. In particular it returns fNlayers.
     Int_t GetNlayers()                   const {return fNlayers;}
@@ -188,7 +188,11 @@ class AliITSgeom : public TObject {
     //      This function returns the Cartesian translation [cm] and the
     // 6 GEANT rotation angles [degrees]for a given layer ladder and
     // detector number, in the TVector x (at least 9 elements large).
-    void  GetCenterThetaPhi(Int_t lay,Int_t lad,Int_t det,TVector &x);
+    // This function is required to be inlined for speed.
+    void  GetCenterThetaPhi(Int_t lay,Int_t lad,Int_t det,TVector &x){
+    Double_t t[3],a[6];Int_t i=GetModuleIndex(lay,lad,det);GetTrans(i,t);
+    GetGeantAngles(i,a);x(0)=t[0];x(1)=t[1];x(2)=t[2];x(3)=a[0];x(4)=a[1];
+    x(5)=a[2];x(6)=a[3];x(7)=a[4];x(8)=a[5];}
 //
     //     This function returns the rotation matrix in Double
     // precision for a given module.