]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11Geometry.h
Memory leak correction (savannah #84632) Melinda
[u/mrichter/AliRoot.git] / ITS / AliITSv11Geometry.h
index 4a32b787e633ec44e418e697c08082eb97976e15..866c74488ddb47acc02aac4cb6ac7902eab2e908 100644 (file)
@@ -41,6 +41,15 @@ class AliITSv11Geometry : public TObject {
     Double_t CosD(Double_t deg)const{return TMath::Cos(deg*TMath::DegToRad());}
     // Tangent function
     Double_t TanD(Double_t deg)const{return TMath::Tan(deg*TMath::DegToRad());}
+    // Determine the intersection of two lines
+    void IntersectLines(Double_t m, Double_t x0, Double_t y0,
+                       Double_t n, Double_t x1, Double_t y1,
+                       Double_t &xi, Double_t &yi)const;
+    // Determine the intersection of a line and a circle
+    static Bool_t IntersectCircle(Double_t m, Double_t x0, Double_t y0,
+                          Double_t rr, Double_t xc, Double_t yc,
+                                 Double_t &xi1, Double_t &yi1,
+                          Double_t &xi2, Double_t &yi2);
     // Given the line, defined by the two points (x0,y0) and (x1,y1) and the
     // point x, return the value of y.
     Double_t Yfrom2Points(Double_t x0,Double_t y0,
@@ -146,9 +155,15 @@ class AliITSv11Geometry : public TObject {
     void AnglesForRoundedCorners(Double_t x0,Double_t y0,Double_t r0,
                                  Double_t x1,Double_t y1,Double_t r1,
                                  Double_t &t0,Double_t &t1)const;
+    // Define a general CreateMaterials function here so that if
+    // any specific subdetector does not define it this null function
+    // will due. This function is not declaired const so that a sub-
+    // detector's version may use class variables if they wish.
+    void CreateDefaultMaterials();
+    virtual void CreateMaterials(){};
     // Function to create figure needed for this class' documentation
-     void MakeFigure1(Double_t x0=0.0,Double_t y0=0.0,Double_t r0=2.0,
-                      Double_t x1=-4.0,Double_t y1=-2.0,Double_t r1=1.0);
+    void MakeFigure1(Double_t x0=0.0,Double_t y0=0.0,Double_t r0=2.0,
+                     Double_t x1=-4.0,Double_t y1=-2.0,Double_t r1=1.0);
   protected:
 
     // Units, Convert from k?? to cm,degree,GeV,seconds,
@@ -158,6 +173,8 @@ class AliITSv11Geometry : public TObject {
     static const Double_t fgkDegree; //Convert degrees to TGeom's degrees
     static const Double_t fgkRadian; //To Radians
     static const Double_t fgkgcm3;   // Density in g/cm^3
+    static const Double_t fgkKgm3;   // Density in kg/m^3
+    static const Double_t fgkKgdm3;   // Density in kg/dm^3
     static const Double_t fgkCelsius; // Temperature in degrees Celcius
     static const Double_t fgkPascal;  // Preasure in Pascal
     static const Double_t fgkKPascal;  // Preasure in KPascal