55     reconstructor( reconstructor ),
 
   56     setCalorimeterEntryPointDefinitionAlgorithm( NULL ),
 
   57     setCrystalSelectionAlgorithm( NULL ), useInnerRefCrystal( NULL ),
 
   58     setCalorimeterEntryPointDepth( NULL )
 
   63     setCalorimeterEntryPointDefinitionAlgorithm->
SetGuidance(
 
   64         "\n    Algorithm to reconstruct entry point of output particle" 
   65         "\n    decay products in calorimeter" 
   66         "\n    (none of the following algorithms reconstruct directions)\n" 
   67         "    center - entry points defined in the center of the\n" 
   69         "    simple - entry points defined in the center of the crystal\n" 
   70         "             that has maximum energy deposit value,\n" 
   71         "    linear - entry points defined by linear weights of energy\n" 
   72         "             deposit in crystals,\n" 
   73         "    sqrt - entry points defined by square root weights of\n" 
   74         "           energy deposit in crystals" );
 
   76                                             "EntryPointDefinitionAlgo", 
false );
 
   78                                             "center simple linear sqrt" );
 
   85                               "entryPointDepthDefinitionAlgo" ).c_str(), 
this );
 
   86     setCalorimeterEntryPointDepthDefinitionAlgorithm->
SetGuidance(
 
   87         "\n    Algorithm to reconstruct entry point depth of output\n" 
   88         "    particle decay products in calorimeter\n" 
   89         "    (value is defined by 'entryPointDepth' parameter)\n" 
   90         "    plain - depth is a constant\n" 
   91         "    sphere - depth depends on X and Y of calorimeter entry\n" 
   92         "             points and locates on surface of a sphere\n" 
   93         "             with origin in the center of the target;\n" 
   94         "             radius of the sphere is sum of distance to\n" 
   95         "             the calorimeter and 'entryPointDepth' value" );
 
   97                                     "EntryPointDepthDefinitionAlgo", 
false );
 
   98     setCalorimeterEntryPointDepthDefinitionAlgorithm->
SetCandidates(
 
  109         "\n    Choose crystals to be selected in weighted entry point\n" 
  110         "    reconstruction algorithms\n" 
  112         "    adjacent - crystal with maximum energy deposit and\n" 
  113         "               adjacent crystals" );
 
  115     setCrystalSelectionAlgorithm->
SetCandidates( 
"all adjacent" );
 
  124         "\n    Defines that if the crystal with maximum energy deposit in\n" 
  125         "    calorimeter is an outer crystal then the closest inner crystal\n" 
  126         "    will be chosen as the reference for adjacent crystal selection\n" 
  127         "    algorithm and simple entry point definition algorithm. It also\n" 
  128         "    affects energy deposit collection if adjacent crystals\n" 
  129         "    algorithm was chosen for that. If not set then the reference\n" 
  130         "    crystal will be found from all crystals in calorimeter" );
 
  139         "\n    Depth of entry point used in reconstruction of angle\n" 
  140         "    between output particle decay products" );
 
  141     setCalorimeterEntryPointDepth->
SetParameterName( 
"EntryPointDepth", 
false );
 
  152     delete setCalorimeterEntryPointDefinitionAlgorithm;
 
  153     delete setCalorimeterEntryPointDepthDefinitionAlgorithm;
 
  154     delete setCrystalSelectionAlgorithm;
 
  155     delete useInnerRefCrystal;
 
  156     delete setCalorimeterEntryPointDepth;
 
  165         if ( cmd == setCalorimeterEntryPointDefinitionAlgorithm )
 
  171                 if ( value == 
"simple" )
 
  173                     epDefinitionAlgorithm =
 
  177                 if ( value == 
"linear" )
 
  182                 if ( value == 
"sqrt" )
 
  189                                                         epDefinitionAlgorithm );
 
  192         if ( cmd == setCalorimeterEntryPointDepthDefinitionAlgorithm )
 
  198                 if ( value == 
"sphere" )
 
  205                                                 epDepthDefinitionAlgorithm );
 
  208         if ( cmd == setCrystalSelectionAlgorithm )
 
  214                 if ( value == 
"adjacent" )
 
  223         if ( cmd == useInnerRefCrystal )
 
  229         if ( cmd == setCalorimeterEntryPointDepth )
 
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
 
void SetDefaultValue(G4double defVal)
 
static G4double GetNewDoubleValue(const char *paramString)
 
static G4bool GetNewBoolValue(const char *paramString)
 
void SetDefaultValue(G4bool defVal)
 
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
 
void SetCalorimeterEntryPointDepth(G4double depth)
 
CexmcReconstructorMessenger(CexmcReconstructor *reconstructor)
 
void SetGuidance(const char *aGuidance)
 
static G4String reconstructorDirName
 
void AvailableForStates(G4ApplicationState s1)
 
CexmcCrystalSelectionAlgorithm
 
void SetCrystalSelectionAlgorithm(CexmcCrystalSelectionAlgorithm algo)
 
void SetCalorimeterEntryPointDefinitionAlgorithm(CexmcCalorimeterEntryPointDefinitionAlgorithm algo)
 
void SetNewValue(G4UIcommand *cmd, G4String value)
 
void SetDefaultValue(const char *defVal)
 
void SetDefaultUnit(const char *defUnit)
 
~CexmcReconstructorMessenger()
 
void UseInnerRefCrystal(G4bool on=true)
 
const XML_Char int const XML_Char * value
 
void SetCandidates(const char *candidateList)
 
void SetCalorimeterEntryPointDepthDefinitionAlgorithm(CexmcCalorimeterEntryPointDepthDefinitionAlgorithm algo)
 
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
 
CexmcCalorimeterEntryPointDepthDefinitionAlgorithm
 
CexmcCalorimeterEntryPointDefinitionAlgorithm
 
void SetUnitCandidates(const char *candidateList)