X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSv11Geometry.h;h=7370423f07f94deb85995991d32d65d81929a65e;hb=8e52a0348a42f8434975e4a2da166fbb680b6319;hp=b8782ff7d890844aebb5133b53d045263f306ff0;hpb=c789ee28e2fafebfb4821057ae4dc8f592d15e40;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSv11Geometry.h b/ITS/AliITSv11Geometry.h index b8782ff7d89..7370423f07f 100644 --- a/ITS/AliITSv11Geometry.h +++ b/ITS/AliITSv11Geometry.h @@ -11,36 +11,20 @@ Base class for defining large parts of the ITS geometry, v11. */ #include +#include class TGeoArb8; class TGeoPcon; class TGeoTube; class TGeoTubeSeg; class TGeoConeSeg; class TGeoBBox; -class TGeoMixture; -class TArrayD; -class TArrayI; -class TObjArray; class AliITSv11Geometry : public TObject { public: - AliITSv11Geometry(){fDebug=0;}; - AliITSv11Geometry(Int_t debug){fDebug=debug;}; + AliITSv11Geometry():fDebug(AliDebugLevel()) {}; + AliITSv11Geometry(Int_t debug):fDebug(debug) {}; virtual ~AliITSv11Geometry(){}; // - virtual TGeoMixture *CreateMixtureByNumber(const char* name,Int_t nel, - const TArrayI *w, - const TObjArray *mix, - Double_t den); - virtual TGeoMixture *CreateMixtureByVolume(const char* name,Int_t nel, - const TArrayD *v, - const TObjArray *mix, - Double_t den); - virtual TGeoMixture *CreateMixtureByWeight(const char* name,Int_t nel, - const TArrayD *w, - const TObjArray *mix, - Double_t den); - // // Sets the debug flag for debugging output void SetDebug(Int_t level=5){fDebug=level;} // Clears the debug flag so no debugging output will be generated @@ -121,7 +105,7 @@ class AliITSv11Geometry : public TObject { void InsidePoint(const TGeoPcon *p,Int_t i1,Int_t i2,Int_t i3, Double_t Cthick,TGeoPcon *q,Int_t j1,Bool_t max)const; // Given two intersecting lines defined by the points (x0,y0), (x1,y1) and - // (x1,y1), (x1,y2) {intersecting at (x1,y1)} the point (x,y) a distance + // (x1,y1), (x2,y2) {intersecting at (x1,y1)} the point (x,y) a distance // c away is returned such that two lines a distance c away from the // lines defined above intersect at (x,y). void InsidePoint(Double_t x0,Double_t y0,Double_t x1,Double_t y1, @@ -162,9 +146,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, @@ -173,6 +163,16 @@ class AliITSv11Geometry : public TObject { static const Double_t fgkcm; // Convert cm to TGeom's cm. 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 + static const Double_t fgkeV; // Energy in eV + static const Double_t fgkKeV; // Energy in KeV + static const Double_t fgkMeV; // Energy in MeV + static const Double_t fgkGeV; // Energy in GeV private: Double_t AngleForRoundedCorners0(Double_t dx,Double_t dy,