55 reconstructor( reconstructor ), useTableMass( NULL ),
56 useMassCut( NULL ), mCutOPCenter( NULL ), mCutNOPCenter( NULL ),
57 mCutOPWidth( NULL ), mCutNOPWidth( NULL ), mCutAngle( NULL ),
58 useAbsorbedEnergyCut( NULL ), aeCutCLCenter( NULL ),
59 aeCutCRCenter( NULL ), aeCutCLWidth( NULL ), aeCutCRWidth( NULL ),
60 aeCutAngle( NULL ), setExpectedMomentumAmp( NULL ),
61 setExpectedMomentumAmpDiff( NULL ), setEDCollectionAlgorithm( NULL )
66 useTableMass->
SetGuidance(
"\n If true then reconstructor will use "
67 "table mass of output\n particle when building output particle "
68 "energy,\n otherwise reconstructed mass will be used" );
75 useMassCut->
SetGuidance(
"\n Use elliptical cut for masses of output "
76 "particle\n and nucleus output particle" );
84 mCutOPCenter->
SetGuidance(
"\n Center of the ellipse in output particle "
88 outputParticle->GetPDGMass() );
96 mCutNOPCenter->
SetGuidance(
"\n Center of the ellipse in nucleus output "
97 "particle mass\n coordinate" );
100 nucleusOutputParticle->GetPDGMass() );
108 mCutOPWidth->
SetGuidance(
"\n Width of the ellipse in output particle "
112 outputParticle->GetPDGMass() * 0.1 );
120 mCutNOPWidth->
SetGuidance(
"\n Width of the ellipse in nucleus output "
121 "particle mass\n coordinate" );
124 nucleusOutputParticle->GetPDGMass() * 0.1 );
132 mCutAngle->
SetGuidance(
"\n Angle of the ellipse" );
142 useAbsorbedEnergyCut->
SetGuidance(
"\n Use elliptical cut for absorbed "
143 "energies in\n calorimeters" );
151 aeCutCLCenter->
SetGuidance(
"\n Center of the ellipse in left "
152 "calorimeter\n absorbed energy coordinate" );
162 aeCutCRCenter->
SetGuidance(
"\n Center of the ellipse in right "
163 "calorimeter\n absorbed energy coordinate" );
173 aeCutCLWidth->
SetGuidance(
"\n Width of the ellipse in left calorimeter"
174 "\n absorbed energy coordinate" );
184 aeCutCRWidth->
SetGuidance(
"\n Width of the ellipse in right calorimeter"
185 "\n absorbed energy coordinate" );
195 aeCutAngle->
SetGuidance(
"\n Angle of the ellipse" );
205 setExpectedMomentumAmp->
SetGuidance(
"\n Momentum of a beam particle "
206 "expected in the target;\n this value may differ from original "
207 "momentum\n of the beam as far as profile data of the beam refer\n"
208 " to the place where it starts. This parameter is used only\n"
209 " in reconstruction procedure");
211 setExpectedMomentumAmp->
SetRange(
"RecMomentumAmp > 0" );
219 setExpectedMomentumAmpDiff->
SetGuidance(
"\n Expected difference "
220 "between momenta of the beam\n on its start and in the target. This "
221 "parameter can\n be used to automatically calculate value of the\n"
222 " previous parameter 'momentumAmp'" );
223 setExpectedMomentumAmpDiff->
SetParameterName(
"RecMomentumAmpDiff",
false );
234 "\n Choose crystals to be selected when energy deposit collected\n"
236 " adjacent - crystal with maximum energy deposit and\n"
237 " adjacent crystals" );
252 delete mCutNOPCenter;
256 delete useAbsorbedEnergyCut;
257 delete aeCutCLCenter;
258 delete aeCutCRCenter;
262 delete setExpectedMomentumAmp;
263 delete setExpectedMomentumAmpDiff;
264 delete setEDCollectionAlgorithm;
273 if ( cmd == useTableMass )
279 if ( cmd == useMassCut )
285 if ( cmd == mCutOPCenter )
291 if ( cmd == mCutNOPCenter )
297 if ( cmd == mCutOPWidth )
303 if ( cmd == mCutNOPWidth )
309 if ( cmd == mCutAngle )
315 if ( cmd == useAbsorbedEnergyCut )
321 if ( cmd == aeCutCLCenter )
327 if ( cmd == aeCutCRCenter )
333 if ( cmd == aeCutCLWidth )
339 if ( cmd == aeCutCRWidth )
345 if ( cmd == aeCutAngle )
351 if ( cmd == setExpectedMomentumAmp )
357 if ( cmd == setExpectedMomentumAmpDiff )
363 if ( cmd == setEDCollectionAlgorithm )
369 if ( value ==
"adjacent" )
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4double defVal)
void SetAbsorbedEnergyCutCRWidth(G4double value)
void SetExpectedMomentumAmpDiff(G4double)
void UseMassCut(G4bool on)
void SetNewValue(G4UIcommand *cmd, G4String value)
void SetAbsorbedEnergyCutCLWidth(G4double value)
void SetMassCutNOPCenter(G4double value)
void SetAbsorbedEnergyCutCRCenter(G4double value)
static G4double GetNewDoubleValue(const char *paramString)
void SetMassCutOPWidth(G4double value)
void UseAbsorbedEnergyCut(G4bool on)
static G4bool GetNewBoolValue(const char *paramString)
void SetDefaultValue(G4bool defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetAbsorbedEnergyCutEllipseAngle(G4double value)
void SetMassCutOPCenter(G4double value)
CexmcChargeExchangeReconstructorMessenger(CexmcChargeExchangeReconstructor *reconstructor)
void SetMassCutNOPWidth(G4double value)
void SetRange(const char *rs)
void SetGuidance(const char *aGuidance)
static G4String reconstructorDirName
void UseTableMass(G4bool on)
void AvailableForStates(G4ApplicationState s1)
void SetEDCollectionAlgorithm(CexmcEDCollectionAlgoritm value)
const CexmcProductionModelData & GetProductionModelData(void) const
void SetDefaultValue(const char *defVal)
CexmcEDCollectionAlgoritm
void SetMassCutEllipseAngle(G4double value)
void SetDefaultUnit(const char *defUnit)
~CexmcChargeExchangeReconstructorMessenger()
const XML_Char int const XML_Char * value
void SetCandidates(const char *candidateList)
void SetAbsorbedEnergyCutCLCenter(G4double value)
void SetExpectedMomentumAmp(G4double)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetUnitCandidates(const char *candidateList)