/* $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 {
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
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];}
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.
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.
//#include "AliITSgeomSSD.h"
-class ostream;
-class istream;
class TShape;
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
//#include "AliITSgeomSSD.h"
-class ostream;
-class istream;
class TShape;
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
//#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
ostream &operator<<(ostream &os,AliITSgeomSSD75and275 &source);
istream &operator>>(istream &os,AliITSgeomSSD75and275 &source);
#endif
+
+