//----------------------------------------------------------- // File and Version Information: // // // Description: // Implementation of class TpcEFieldCylLs // see TpcEFieldCylLs.h for details // // Environment: // Software developed for the GEM-TPC Detector at FOPI. // // Author List: // Martin Berger TUM (original author) // // //----------------------------------------------------------- // This Class' Header ------------------ #include "TpcEFieldCylLs.h" #include "TpcEFieldCyl.h" #include "TMath.h" #include ClassImp(TpcEFieldCylLs) // Class Member definitions ----------- TpcEFieldCylLs::TpcEFieldCylLs() :TpcEFieldCyl() { lastStripField=200.; lastStripPos=3.5; driftField = TVector3(0.,0.,400.); } // TpcEFieldCylLs::TpcEFieldCylLs(TString name) // :TpcEFieldCyl() // { // fname=name; // lastStripField=200.; // lastStripPos=3.5; // driftField = TVector3(0.,0.,400.); // } TpcEFieldCylLs::~TpcEFieldCylLs() {;} TVector3 TpcEFieldCylLs::value(const TVector3& point) const { return value2(point); } TVector3 TpcEFieldCylLs::value2(const TVector3& point) const { TVector3 resultField; TVector3 resultLsField; double signFactor; double rad; double radfactor; double x_along_z, x_along_r; double width; resultField=driftField; rad=TMath::Sqrt(point[0]*point[0]+point[1]*point[1]); if (rad<5) return TVector3(0.,0.,0.); else rad-=5; signFactor=1; if (lastStripField 15) // return 0.0; // radfactor=TMath::Abs((10.-rad)/5.); // resultLsField[2]=lastStripField*radfactor*TMath::Gaus(point[2],lastStripPos,2)*TMath::Gaus(rad,0,0.1/3); // resultField[2]+=resultLsField[2]*signFactor; return resultField; } // void TpcEFlielCylLs::readFile() // { // // try to find and open the file // std::ifstream infile(fname, std::fstream::in); // if (!infile.good()) // { // Fatal("TpcEFieldCylLoader::load()","field-file could not be found."); // return; // } // ffieldmapR = new std::vector; // ffieldmapZ = new std::vector; // ffieldmapEr = new std::vector; // ffieldmapEz = new std::vector; // double R,Z,Er,Ez; // while (infile.good()) // { // infile >> R >> Z >> Er >> Ez; // } // }