BLCMDtracker::FitParam Struct Reference

List of all members.

Public Member Functions

void define (G4String _name, double _scale)
int size ()
void setDelta (G4String _name, double dx)
void printSummary ()
G4String getNameList ()

Public Attributes

std::vector< G4String > name
std::vector< double > scale
std::vector< double > sumDX
std::vector< double > sumDX2
int nDelta


Member Function Documentation

void BLCMDtracker::FitParam::define ( G4String  _name,
double  _scale 
) [inline]

References name, nDelta, scale, sumDX, and sumDX2.

Referenced by BLCMDtracker::command().

00094                                                            {
00095                         name.push_back(_name);
00096                         scale.push_back(_scale);
00097                         sumDX.push_back(0.0);
00098                         sumDX2.push_back(0.0);
00099                         nDelta = 0; // (doing this multiple times is OK)
00100                 }

int BLCMDtracker::FitParam::size (  )  [inline]

References name.

00101 { return name.size(); }

void BLCMDtracker::FitParam::setDelta ( G4String  _name,
double  dx 
) [inline]

References name, nDelta, sumDX, and sumDX2.

Referenced by BLCMDtracker::fitTrack().

00102                                                          {
00103                         for(unsigned i=0; i<name.size(); ++i) {
00104                                 if(_name != name[i]) continue;
00105                                 sumDX[i] += dx;
00106                                 sumDX2[i] += dx*dx;
00107                                 if(i == 0) ++nDelta;
00108                                 break;
00109                         }
00110                 }

void BLCMDtracker::FitParam::printSummary (  )  [inline]

References name, nDelta, scale, sumDX, and sumDX2.

Referenced by BLCMDtracker::handlePreviousTracks().

00111                                     {
00112                         printf("\nSummary of track fitting parameters (fit-true) for %d tracks:\n"
00113                           "  Name     Mean      Sigma      Scale    Flag\n"
00114                           "  ----   --------   --------   -------- -------\n",
00115                           nDelta);
00116                         for(unsigned i=0; i<name.size(); ++i) {
00117                                 double mean = sumDX[i]/nDelta;
00118                                 double sigma = sqrt(fabs(sumDX2[i]/nDelta
00119                                         - mean*mean));
00120                                 const char *p = "";
00121                                 if(scale[i] != 0 && (sigma/scale[i]<0.2 ||
00122                                    sigma/scale[i]>5.0)) p = "RESCALE";
00123                                 printf("  %4s %10.6f %10.6f %10.6f %s\n",
00124                                         name[i].c_str(),mean,sigma,scale[i],p);
00125                         }
00126                         printf("\n");
00127                 }

G4String BLCMDtracker::FitParam::getNameList (  )  [inline]

References BLCMDtracker::list, and name.

Referenced by BLCMDtracker::fitTrack().

00128                                        {
00129                         G4String list=name[0];
00130                         for(unsigned i=1; i<name.size(); ++i) {
00131                                 list += ":";
00132                                 list += name[i];
00133                         }
00134                         return list;
00135                 }


Member Data Documentation

std::vector<G4String> BLCMDtracker::FitParam::name

std::vector<double> BLCMDtracker::FitParam::scale

std::vector<double> BLCMDtracker::FitParam::sumDX

Referenced by define(), printSummary(), and setDelta().

std::vector<double> BLCMDtracker::FitParam::sumDX2

Referenced by define(), printSummary(), and setDelta().

Referenced by define(), printSummary(), and setDelta().


The documentation for this struct was generated from the following file:
g4beamline