00001 #ifndef musrBackwardParameterisation_H
00002 #define musrBackwardParameterisation_H 1
00003
00004 #include "globals.hh"
00005 #include "G4VPVParameterisation.hh"
00006 #include "G4ThreeVector.hh"
00007 #include "G4RotationMatrix.hh"
00008 class G4VPhysicalVolume;
00009 class G4Box;
00010 class G4Trd;
00011
00012 class G4Trap;
00013 class G4Cons;
00014 class G4Orb;
00015 class G4Sphere;
00016 class G4Torus;
00017 class G4Para;
00018 class G4Hype;
00019 class G4Tubs;
00020 class G4Polycone;
00021 class G4Polyhedra;
00022
00023
00024
00025 class musrBackwardParameterisation : public G4VPVParameterisation
00026 {
00027 public:
00028
00029 musrBackwardParameterisation(
00030 G4int NoRadialPixels,
00031 G4int NoLengthPixels,
00032 G4double X1Pixels,
00033 G4double X2Pixels,
00034 G4double Y1Pixels,
00035 G4double Y2Pixels,
00036 G4double ZPixels,
00037 G4double ArrayLength,
00038 G4double TiltAngle,
00039 G4double LRadius);
00040
00041 virtual
00042 ~musrBackwardParameterisation();
00043
00044 void ComputeTransformation (const G4int copyNo,
00045 G4VPhysicalVolume* physVol) const;
00046
00047
00048 void ComputeDimensions (G4Trd & trackerlayer, const G4int copyNo,
00049 const G4VPhysicalVolume* physVol) const;
00050
00051 private:
00052
00053 void ComputeDimensions (G4Box&, const G4int, const G4VPhysicalVolume*) const {}
00054
00055 void ComputeDimensions (G4Trap&,const G4int,const G4VPhysicalVolume*) const {}
00056 void ComputeDimensions (G4Cons&,const G4int,const G4VPhysicalVolume*) const {}
00057 void ComputeDimensions (G4Sphere&,const G4int,const G4VPhysicalVolume*) const {}
00058 void ComputeDimensions (G4Orb&,const G4int,const G4VPhysicalVolume*) const {}
00059 void ComputeDimensions (G4Torus&,const G4int,const G4VPhysicalVolume*) const {}
00060 void ComputeDimensions (G4Para&,const G4int,const G4VPhysicalVolume*) const {}
00061 void ComputeDimensions (G4Hype&,const G4int,const G4VPhysicalVolume*) const {}
00062 void ComputeDimensions (G4Tubs&,const G4int,const G4VPhysicalVolume*) const {}
00063 void ComputeDimensions (G4Polycone&,const G4int,const G4VPhysicalVolume*) const {}
00064 void ComputeDimensions (G4Polyhedra&,const G4int,const G4VPhysicalVolume*) const {}
00065 private:
00066 G4int fNoRadialPixels;
00067 G4int fNoLengthPixels;
00068 G4double fArrayLength;
00069 G4double fTiltAngle;
00070 G4double fLRadius;
00071
00072 G4double fPixelWidthX1;
00073 G4double fPixelWidthX2;
00074 G4double fPixelWidthY1;
00075 G4double fPixelWidthY2;
00076 G4double fPixelWidthZ;
00077 };
00078
00079
00080
00081
00082 #endif
00083
00084