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)
const XML_Char int const XML_Char * value
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)
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)