X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSgeomSSD.h;h=8b2ca671156f0def1a8742bfb98ea9fa0ee8ca7d;hb=bc825688235bf986ee2b2b280c1c011720bcd75c;hp=94205fb262e272eb08edb4773ca94910041448b4;hpb=a3d834a0c7e3c1e39224d06783352f11155509bd;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSgeomSSD.h b/ITS/AliITSgeomSSD.h index 94205fb262e..8b2ca671156 100644 --- a/ITS/AliITSgeomSSD.h +++ b/ITS/AliITSgeomSSD.h @@ -5,36 +5,179 @@ /* $Id$ */ -#include "TShape.h" -#include "TBRIK.h" +//////////////////////////////////////////////////////////////////////// +// 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 +#include + +class TShape; class AliITSgeomSSD : public TObject { - private: - // define shape of active area using ROOT shapes so that they can - // be easly plotted. Inputs to TBRIK are - // Shape name (what ever that is) - // Shape title (what ever that means) - // name of material (something I took from ITSgeometry.tme file - // dx => 1/2 thickness of wafer's active volume (cm) - // dy => 1/2 r*phi size of active volume (cm) - // dz => 1/2 size of active volume (cm) - TBRIK *fShapeSSD; - // Other infomation like. - // Float_t fTopPitch; // cm - // Float_t fTopWidth; // cm - // Float_t fTopLength; // cm - // Float_t fTopAngle; // cm - // Float_t fBottomPitch; // cm - // Float_t fBottomWidth; // cm - // Float_t fBottomLength; // cm - // Float_t fBottomAngle; // cm - // or what other or different information that is needed. public: - AliITSgeomSSD(); - virtual ~AliITSgeomSSD() {}; - TBRIK *GetShape() const {return fShapeSSD;} + AliITSgeomSSD(); // default constructor + AliITSgeomSSD(const Float_t *box,Float_t ap,Float_t an, + 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. + 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 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 + if(i>=0&&i0&&i x + // | + // V + // z + TBRIK *fShapeSSD; // comment + 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 *fLowEdgeN; //[fNn] Cathode side strip pich angle==0. + Float_t fAngleP; // Anode side strip angle (rad). + 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 + +}; +// Input and output function for standard C++ input/output. +ostream &operator<<(ostream &os,AliITSgeomSSD &source); +istream &operator>>(istream &os,AliITSgeomSSD &source); +#endif +//====================================================================== +#ifndef ALIITSGEOMSSD175_H +#define ALIITSGEOMSSD175_H +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +/* + $Id$ +*/ + +//#include "AliITSgeomSSD.h" + + +class TShape; + +class AliITSgeomSSD175 : public AliITSgeomSSD { + + public: + AliITSgeomSSD175(); + + // 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 + // SDD detector geometry. + ClassDef(AliITSgeomSSD175,0) // ITS SSD detector with stips at +- 0.0175 rad. + +}; +// Input and output function for standard C++ input/output. +ostream &operator<<(ostream &os,AliITSgeomSSD175 &source); +istream &operator>>(istream &os,AliITSgeomSSD175 &source); +#endif +//====================================================================== +#ifndef ALIITSGEOMSSD27575_H +#define ALIITSGEOMSSD27575_H +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +/* + $Id$ +*/ + +//#include "AliITSgeomSSD.h" + + +class TShape; + +class AliITSgeomSSD275and75 : public AliITSgeomSSD { + + public: + AliITSgeomSSD275and75(); + AliITSgeomSSD275and75(Int_t npar,Float_t *par); + + // 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 + // SDD detector geometry. + ClassDef(AliITSgeomSSD275and75,0) // ITS SSD detector with 0.0275 and 0.0075 rad strip angles. + +}; +// Input and output function for standard C++ input/output. +ostream &operator<<(ostream &os,AliITSgeomSSD275and75 &source); +istream &operator>>(istream &os,AliITSgeomSSD275and75 &source); +#endif +//====================================================================== +#ifndef ALIITSGEOMSSD75275_H +#define ALIITSGEOMSSD75275_H +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +/* + $Id$ +*/ + +//#include "AliITSgeomSSD.h" + +class TShape; + +class AliITSgeomSSD75and275 : public AliITSgeomSSD { + + public: + AliITSgeomSSD75and275(); + AliITSgeomSSD75and275(Int_t npar,Float_t *par); + + // 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 + // SSD detector geometry. + ClassDef(AliITSgeomSSD75and275,0) // ITS SSD detector geometry class for 0.0075 and 0.0275 rad angled strips. + }; +// Input and output function for standard C++ input/output. +ostream &operator<<(ostream &os,AliITSgeomSSD75and275 &source); +istream &operator>>(istream &os,AliITSgeomSSD75and275 &source); #endif