/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Mdc/MdcGeomSvc/MdcGeomSvc-00-01-37/MdcGeomSvc/MdcGeoLayer.h

Go to the documentation of this file.
00001 // $Id: MdcGeoLayer.h,v 1.6 2010/03/26 00:45:11 zhangy Exp $ // -*-c++-*-
00002 // header file for a class called "MdcGeoLayer"
00003 #ifndef MDC_GEO_LAYER_H
00004 #define MDC_GEO_LAYER_H
00005 
00006 #include <CLHEP/Geometry/Point3D.h>
00007 #include <iostream>
00008 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00009 typedef HepGeom::Point3D<double> HepPoint3D;
00010 #endif        
00011 
00012 using namespace CLHEP;
00013 
00014 class MdcGeoSuper;
00015 
00016 class MdcGeoLayer {
00017 
00018     public:
00019         // Constructor.
00020         MdcGeoLayer():fId(0),fSLayer(0),fWirst(0),fSlant(0.),fnomSlant(0.),fRadius(0.),fLength(0.),fRCSiz1(0.),fRCSiz2(0.),
00021                       fPCSiz(0.),fNCell(0),fOffset(0.),fShift(0.),fnomOffset(0.),fnomShift(0.),fTwistF(0.),fTwistB(0.){
00022             HepPoint3D O(0,0,0);
00023             fOffF=O;
00024             fOffB=O;
00025             fSup=0;
00026             fGenLayer=0;
00027         };
00028         // Copy and Assignment
00029         MdcGeoLayer(const MdcGeoLayer& e){
00030             fId=e.Id();
00031             fSLayer=e.SLayer(); 
00032             fWirst=e.Wirst();
00033             fSlant=e.Slant();
00034             fnomSlant=e.nomSlant();
00035             fRadius=e.Radius();
00036             fLength=e.Length();
00037             fRCSiz1=e.RCSiz1();
00038             fRCSiz2=e.RCSiz2();
00039             fPCSiz=e.PCSiz();
00040             fNCell=e.NCell();
00041             fOffset=e.Offset();
00042             fShift=e.Shift();
00043             fnomOffset=e.nomOffset();
00044             fnomShift=e.nomShift();
00045             fTwistF=e.TwistF();
00046             fTwistB=e.TwistB();
00047             fOffF=e.OffF();
00048             fOffB=e.OffB();
00049             fSup=e.Sup();
00050             fGenLayer=e.Gen();
00051         };
00052         MdcGeoLayer& operator=(const MdcGeoLayer& e) {
00053             if(this!=&e)
00054             {
00055                 fId=e.Id();
00056                 fSLayer=e.SLayer(); 
00057                 fWirst=e.Wirst();   
00058                 fSlant=e.Slant();
00059                 fnomSlant=e.nomSlant();
00060                 fRadius=e.Radius();
00061                 fLength=e.Length();
00062                 fRCSiz1=e.RCSiz1();
00063                 fRCSiz2=e.RCSiz2();
00064                 fPCSiz=e.PCSiz();
00065                 fNCell=e.NCell();
00066                 fOffset=e.Offset();
00067                 fShift=e.Shift();
00068                 fnomOffset=e.nomOffset();
00069                 fnomShift=e.nomShift();
00070                 fTwistF=e.TwistF();
00071                 fTwistB=e.TwistB();
00072                 fOffF=e.OffF();
00073                 fOffB=e.OffB();
00074                 fSup=e.Sup();
00075                 fGenLayer=e.Gen();
00076             }
00077             return *this;
00078         }
00079 
00080         // Destructor
00081         ~MdcGeoLayer(){};
00082 
00083     public: // Extractors
00084         int Id(void) const;
00085         int SLayer(void) const;  
00086         int Wirst(void) const;  
00087         double Slant(void) const;
00088         double nomSlant(void) const;
00089         double Radius(void) const;
00090         double Length(void) const;
00091         double RCSiz1(void) const;
00092         double RCSiz2(void) const;
00093         double PCSiz(void) const;
00094         int    NCell(void) const;
00095         double  Offset(void) const;
00096         double  Shift(void) const;
00097         double  nomOffset(void) const;
00098         double  nomShift(void) const;
00099         double TwistF(void) const;
00100         double TwistB(void) const;
00101         HepPoint3D OffF(void) const;
00102         HepPoint3D OffB(void) const;
00103         MdcGeoSuper * Sup(void) const;
00104         int Gen(void) const;
00105 
00106     public: // Modifiers
00107         int Id(int);
00108         int SLayer(int);   
00109         int Wirst(int);
00110         double Slant(double);
00111         double nomSlant(double);
00112         double Radius(double);
00113         double Length(double);
00114         double RCSiz1(double);
00115         double RCSiz2(double);
00116         double PCSiz(double);
00117         int    NCell(int);
00118         double  Offset(double);
00119         double  Shift(double);
00120         double  nomOffset(double);
00121         double  nomShift(double);
00122         double TwistF(double);
00123         double TwistB(double);
00124         HepPoint3D OffF(HepPoint3D);
00125         HepPoint3D OffB(HepPoint3D);
00126         MdcGeoSuper * Sup( MdcGeoSuper * );
00127         int Gen(int);
00128 
00129     private:
00130         int fId;
00131         int fSLayer;   //SignalLayer
00132         int fWirst;  //No. of 1st sense wire in this layer.
00133         double fSlant;
00134         double fnomSlant;
00135         double fRadius;
00136         double fLength;
00137         double fRCSiz1;
00138         double fRCSiz2;
00139         double fPCSiz;
00140         int    fNCell;
00141         double  fOffset;
00142         double  fShift;
00143         double  fnomOffset;
00144         double  fnomShift;
00145         double fTwistF;
00146         double fTwistB;
00147         HepPoint3D fOffF;
00148         HepPoint3D fOffB;
00149         MdcGeoSuper * fSup;
00150         int fGenLayer;
00151 };
00152 
00153 //-----------------------------------------------------
00154 // Extractors
00155 inline int    MdcGeoLayer::Id(void) const { return fId; }
00156 inline int    MdcGeoLayer::SLayer(void) const { return fSLayer; } 
00157 inline int    MdcGeoLayer::Wirst(void) const { return fWirst;}   
00158 inline double MdcGeoLayer::Slant(void) const { return fSlant; }
00159 inline double MdcGeoLayer::nomSlant(void) const { return fnomSlant; }
00160 inline double MdcGeoLayer::Radius(void) const { return fRadius; } 
00161 inline double MdcGeoLayer::Length(void) const { return fLength; }
00162 inline double MdcGeoLayer::RCSiz1(void) const { return fRCSiz1; }
00163 inline double MdcGeoLayer::RCSiz2(void) const { return fRCSiz2; }
00164 inline double MdcGeoLayer::PCSiz(void) const { return fPCSiz; }
00165 inline int    MdcGeoLayer::NCell(void) const { return fNCell; }
00166 inline double  MdcGeoLayer::Offset(void) const { return fOffset; }
00167 inline double  MdcGeoLayer::Shift(void) const { return fShift; }
00168 inline double  MdcGeoLayer::nomOffset(void) const { return fnomOffset; }
00169 inline double  MdcGeoLayer::nomShift(void) const { return fnomShift; }
00170 inline double MdcGeoLayer::TwistF(void) const { return fTwistF; }
00171 inline double MdcGeoLayer::TwistB(void) const { return fTwistB; }
00172 inline HepPoint3D MdcGeoLayer::OffF(void) const { return fOffF;}
00173 inline HepPoint3D MdcGeoLayer::OffB(void) const { return fOffB;}
00174 inline MdcGeoSuper* MdcGeoLayer::Sup(void) const { return fSup; }
00175 inline int MdcGeoLayer::Gen(void) const {return fGenLayer;}
00176 
00177 // Modifiers
00178 inline int    MdcGeoLayer::Id(int i) { return fId=i; }
00179 inline int    MdcGeoLayer::SLayer(int i) { return fSLayer=i; }  
00180 inline int    MdcGeoLayer::Wirst(int i) { return fWirst=i; }
00181 inline double MdcGeoLayer::Slant(double i) { return fSlant=i; }
00182 inline double MdcGeoLayer::nomSlant(double i) { return fnomSlant=i; }
00183 inline double MdcGeoLayer::Radius(double i) { return fRadius=i; }
00184 inline double MdcGeoLayer::Length(double i) { return fLength=i; }
00185 inline double MdcGeoLayer::RCSiz1(double i) { return fRCSiz1=i; }
00186 inline double MdcGeoLayer::RCSiz2(double i) { return fRCSiz2=i; }
00187 inline double MdcGeoLayer::PCSiz(double i) { return fPCSiz=i; }
00188 inline int    MdcGeoLayer::NCell(int i) { return fNCell=i; }
00189 inline double  MdcGeoLayer::Offset(double i) { return fOffset=i; }
00190 inline double  MdcGeoLayer::Shift(double i) { return fShift=i; }
00191 inline double  MdcGeoLayer::nomOffset(double i) { return fnomOffset=i; }
00192 inline double  MdcGeoLayer::nomShift(double i) { return fnomShift=i; }
00193 inline double MdcGeoLayer::TwistF(double i) { return fTwistF=i; }
00194 inline double MdcGeoLayer::TwistB(double i) { return fTwistB=i; }
00195 inline HepPoint3D MdcGeoLayer::OffF(HepPoint3D i) { return fOffF=i;}
00196 inline HepPoint3D MdcGeoLayer::OffB(HepPoint3D i) { return fOffB=i;}
00197 inline MdcGeoSuper* MdcGeoLayer::Sup(MdcGeoSuper* i) { return fSup=i; }
00198 inline int MdcGeoLayer::Gen(int i) {return fGenLayer=i;}
00199 //-----------------------------------------------------
00200 
00201 #endif /* MdcGeoLayer_CLASS */
00202 

Generated on Tue Nov 29 23:12:53 2016 for BOSS_7.0.2 by  doxygen 1.4.7