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().

00090                                                            {
00091                         name.push_back(_name);
00092                         scale.push_back(_scale);
00093                         sumDX.push_back(0.0);
00094                         sumDX2.push_back(0.0);
00095                         nDelta = 0; // (doing this multiple times is OK)
00096                 }

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

References name.

00097 { return name.size(); }

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

References name, nDelta, sumDX, and sumDX2.

Referenced by BLCMDtracker::fitTrack().

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

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

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

Referenced by BLCMDtracker::handlePreviousTracks().

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

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

References BLCMDtracker::list, and name.

Referenced by BLCMDtracker::fitTrack().

00124                                        {
00125                         G4String list=name[0];
00126                         for(unsigned i=1; i<name.size(); ++i) {
00127                                 list += ":";
00128                                 list += name[i];
00129                         }
00130                         return list;
00131                 }


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