55 reconstructor( reconstructor ),
56 setCalorimeterEntryPointDefinitionAlgorithm( NULL ),
57 setCrystalSelectionAlgorithm( NULL ), useInnerRefCrystal( NULL ),
58 setCalorimeterEntryPointDepth( NULL )
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 );
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 );
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" );
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" );
171 if ( value ==
"simple" )
173 epDefinitionAlgorithm =
177 if ( value ==
"linear" )
182 if ( value ==
"sqrt" )
189 epDefinitionAlgorithm );
198 if ( value ==
"sphere" )
205 epDepthDefinitionAlgorithm );
214 if ( value ==
"adjacent" )
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
CexmcReconstructor * reconstructor
void SetDefaultValue(G4double defVal)
G4UIcmdWithAString * setCrystalSelectionAlgorithm
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)
G4UIcmdWithADoubleAndUnit * setCalorimeterEntryPointDepth
void SetDefaultValue(const char *defVal)
void SetDefaultUnit(const char *defUnit)
~CexmcReconstructorMessenger()
void UseInnerRefCrystal(G4bool on=true)
void SetCandidates(const char *candidateList)
void SetCalorimeterEntryPointDepthDefinitionAlgorithm(CexmcCalorimeterEntryPointDepthDefinitionAlgorithm algo)
G4UIcmdWithAString * setCalorimeterEntryPointDefinitionAlgorithm
G4UIcmdWithABool * useInnerRefCrystal
G4UIcmdWithAString * setCalorimeterEntryPointDepthDefinitionAlgorithm
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
CexmcCalorimeterEntryPointDepthDefinitionAlgorithm
CexmcCalorimeterEntryPointDefinitionAlgorithm
void SetUnitCandidates(const char *candidateList)