]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSgeomSSD.h
Removing the flat makefiles
[u/mrichter/AliRoot.git] / ITS / AliITSgeomSSD.h
index 292926a877ef250064135a448073bf05140da947..9300cbcea19057b11cd12de34853d3133b43e5cd 100644 (file)
@@ -5,12 +5,17 @@
 
 /* $Id$ */
 
+////////////////////////////////////////////////////////////////////////
+// This class is for the Silicon Strip Detector, SSD, specific geometry.
+// It is being replaced by AliITSsegmentationSSD class. This file also
+// constains classes derived from AliITSgeomSSD which do nothing but
+// initilize this one with predefined values.
+////////////////////////////////////////////////////////////////////////
+
 #include <TObject.h>
 #include <TBRIK.h>
 
 class TShape;
-class ostream;
-class istream;
 
 class AliITSgeomSSD : public TObject {
 
@@ -20,16 +25,14 @@ class AliITSgeomSSD : public TObject {
                  Int_t np,Float_t *p,Int_t nn,Float_t *n); // Constructor
     virtual ~AliITSgeomSSD(); // Destructor
     AliITSgeomSSD(const AliITSgeomSSD &source);// copy constructor
-    virtual AliITSgeomSSD& operator=(const AliITSgeomSSD &source); // = opt.
+    AliITSgeomSSD& operator=(const AliITSgeomSSD &source); // = opt.
     void ResetSSD(const Float_t *box,Float_t ap,Float_t an,
                  Int_t np,Float_t *p,Int_t nn,Float_t *n); // Filler
-    virtual TShape *GetShape() const {return fShapeSSD;}// get shape
-    virtual Float_t GetDx() const {if(fShapeSSD!=0) return fShapeSSD->GetDx();
-                    else return 0.0;}// get Dx
-    virtual Float_t GetDy() const {if(fShapeSSD!=0) return fShapeSSD->GetDy();
-                    else return 0.0;}// get Dy
-    virtual Float_t GetDz() const {if(fShapeSSD!=0) return fShapeSSD->GetDz();
-                    else return 0.0;}// get Dz
+    virtual TShape *GetShape() const {return new TBRIK(fName.Data(),
+           fTitle.Data(),fMat.Data(),GetDx(),GetDy(),GetDz());}// get shape
+    virtual Float_t GetDx() const {return fDx;}// get Dx
+    virtual Float_t GetDy() const {return fDy;}// get Dy
+    virtual Float_t GetDz() const {return fDz;}// get Dz
     virtual Int_t GetNAnodes() const {return fNp-1;}//the number of Anodes "P"
     virtual Int_t GetNCathodess() const {return fNn-1;}//the number of Cathodes "N"
     virtual Float_t GetAnodePitch(Int_t i=0) const { //anode pitch for anode i
@@ -41,7 +44,7 @@ class AliITSgeomSSD : public TObject {
     virtual void SetShape(char *name,char *title,char *mat,
                           Float_t dx,Float_t dy,Float_t dz){
        // defines TBRIK with given paramters
-        fShapeSSD = new TBRIK(name,title,mat,dx,dy,dz);};
+       fName = name;fTitle = title;fMat = mat; fDx=dx;fDy=dy;fDz=dz;};
     virtual void SetNAnodes(Int_t n) {// sets the number of Anodes "P" and
        // allocates array of low edges.
        fNp=n+1;delete fLowEdgeP;fLowEdgeP = new Float_t[fNp];}
@@ -60,13 +63,20 @@ class AliITSgeomSSD : public TObject {
 
     virtual void Print(ostream *os) const;  // Output streamer to standard out.
     virtual void Read(istream *is);   // Input streamer to standard in.
+    virtual void Print(Option_t *option="") const {TObject::Print(option);}
+    virtual Int_t Read(const char *name) {return TObject::Read(name);}
 
  protected:
     // -+-> x
     //  |
     //  V
     //  z
-    TBRIK *fShapeSSD; // comment
+    TString fName;  // Object name  Replacement for TBRIK
+    TString fTitle; // Ojbect title  Replacement for TBRIK
+    TString fMat;   // Object material name  Replacement for TBRIK
+    Float_t fDx;    // half length in z  Replacement for TBRIK
+    Float_t fDy;    // half length in y  Replacement for TBRIK
+    Float_t fDz;    // half length in z  Replacement for TBRIK
     Int_t   fNp;      // Number of Anode strips.
     Int_t   fNn;      // Number of Cathode strips.
     Float_t *fLowEdgeP;  //[fNp] Anode side strip pitch angle==0.
@@ -75,7 +85,7 @@ class AliITSgeomSSD : public TObject {
     Float_t fAngleN;  // Cathode side strip angle (rad).
     // or what other or different information that is needed.
     
-    ClassDef(AliITSgeomSSD,1) // ITS SSD detector geometry class
+    ClassDef(AliITSgeomSSD,2) // ITS SSD detector geometry class
 
 };
 // Input and output function for standard C++ input/output.
@@ -94,8 +104,6 @@ istream &operator>>(istream &os,AliITSgeomSSD &source);
 
 //#include "AliITSgeomSSD.h"
 
-class ostream;
-class istream;
 
 class TShape;
 
@@ -103,6 +111,7 @@ class AliITSgeomSSD175 : public AliITSgeomSSD {
 
  public:
     AliITSgeomSSD175();
+    AliITSgeomSSD175& operator=(const AliITSgeomSSD175 &source);
 
     // This clas now has version 0 so that it will not be written to a root
     // file. This is good since there are no longer any data members to this
@@ -127,8 +136,6 @@ istream &operator>>(istream &os,AliITSgeomSSD175 &source);
 
 //#include "AliITSgeomSSD.h"
 
-class ostream;
-class istream;
 
 class TShape;
 
@@ -136,7 +143,10 @@ class AliITSgeomSSD275and75 : public AliITSgeomSSD {
 
  public:
     AliITSgeomSSD275and75();
+    AliITSgeomSSD275and75(Int_t npar,Float_t *par);
+    AliITSgeomSSD275and75& operator=(const AliITSgeomSSD275and75 &source);
 
+ // This clas now has version 0 so that it will not be
     // This clas now has version 0 so that it will not be written to a root
     // file. This is good since there are no longer any data members to this
     // class. It is only designed to make it easer to define this standard
@@ -160,15 +170,16 @@ istream &operator>>(istream &os,AliITSgeomSSD275and75 &source);
 
 //#include "AliITSgeomSSD.h"
 
-class ostream;
-class istream;
 class TShape;
 
 class AliITSgeomSSD75and275 : public AliITSgeomSSD {
 
  public:
     AliITSgeomSSD75and275();
+    AliITSgeomSSD75and275(Int_t npar,Float_t *par);
+    virtual AliITSgeomSSD75and275& operator=(const AliITSgeomSSD75and275 &source);
 
+ // This clas now has version 0 so that it will not be
     // This clas now has version 0 so that it will not be written to a root
     // file. This is good since there are no longer any data members to this
     // class. It is only designed to make it easer to define this standard
@@ -180,3 +191,5 @@ class AliITSgeomSSD75and275 : public AliITSgeomSSD {
 ostream &operator<<(ostream &os,AliITSgeomSSD75and275 &source);
 istream &operator>>(istream &os,AliITSgeomSSD75and275 &source);
 #endif
+
+