58 energyDepositDigitizer( energyDepositDigitizer_ ),
59 setMonitorThreshold( NULL ), setVetoCountersThreshold( NULL ),
60 setLeftVetoCounterThreshold( NULL ), setRightVetoCounterThreshold( NULL ),
61 setCalorimetersThreshold( NULL ), setLeftCalorimeterThreshold( NULL ),
62 setRightCalorimeterThreshold( NULL ),
63 setCalorimeterTriggerAlgorithm( NULL ),
64 setOuterCrystalsVetoAlgorithm( NULL ), setOuterCrystalsVetoFraction( NULL ),
65 applyFiniteCrystalResolution( NULL ), addCrystalResolutionRange( NULL ),
66 clearCrystalResolutionData( NULL )
93 "Left veto counter trigger threshold" );
106 "Right veto counter trigger threshold" );
131 "Left calorimeter trigger threshold" );
144 "Right calorimeter trigger threshold" );
155 "calorimeterTriggerAlgorithm" ).c_str(),
this );
157 " all - energy deposit in all crystals in a calorimeter\n"
158 " will be checked against calorimeter threshold "
160 " inner - energy deposit in only inner crystals\n"
161 " will be checked against calorimeter threshold "
164 "CalorimeterTriggerAlgorithm",
false );
172 "outerCrystalsVetoAlgorithm" ).c_str(),
this );
174 " none - events will not be rejected by any algorithm,\n"
175 " max - reject event trigger if crystal with maximum energy "
176 "\n deposit is one of outer crystals,\n"
177 " fraction - reject event trigger if energy deposit "
178 "fraction in\n outer crystals is more than "
179 "value of\n 'outerCrystalsVetoFraction'" );
181 "OuterCrystalsVetoAlgorithm",
false );
189 "outerCrystalsVetoFraction" ).c_str(),
this );
191 "deposit in one calorimeter\n that belongs to outer crystals.\n"
192 " If 'outerCrystalsVetoAlgorithm' is 'fraction' and\n"
193 " the outer crystals energy deposit fraction exceeds "
194 "this\n value then event won't trigger" );
196 "OuterCrystalsVetoFraction",
false );
203 "applyFiniteCrystalResolution" ).c_str(),
this );
205 "energy resolution of the crystals\n will be accounted" );
207 "ApplyFiniteCrystalResolution",
true );
214 "addCrystalResolutionRange" ).c_str(),
this );
216 "(in GeV!) with fwhm percentage\n value of crystal resolution "
219 "CrystalResolutionRangeBottom",
"CrystalResolutionRangeTop",
220 "CrystalResolutionRangeValue",
false );
222 "&& CrystalResolutionRangeTop >= 0. && "
223 "CrystalResolutionRangeValue >= 0." );
229 "clearCrystalResolutionData" ).c_str(),
this );
231 "resolution ranges.\n Can be used to redefine crystal "
309 if ( value ==
"inner" )
311 calorimeterTriggerAlgorithm =
317 calorimeterTriggerAlgorithm );
326 if ( value ==
"max" )
328 outerCrystalsVetoAlgorithm =
332 if ( value ==
"fraction" )
334 outerCrystalsVetoAlgorithm =
340 outerCrystalsVetoAlgorithm );
void SetGuidance(const char *aGuidance)
T max(const T t1, const T t2)
brief Return the largest of the two arguments
~CexmcEnergyDepositDigitizerMessenger()
G4UIcmdWithADoubleAndUnit * setLeftVetoCounterThreshold
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetOuterCrystalsVetoAlgorithm(CexmcOuterCrystalsVetoAlgorithm value, G4bool fromMessenger=true)
G4UIcmdWithADoubleAndUnit * setRightVetoCounterThreshold
G4UIcmdWithAString * setOuterCrystalsVetoAlgorithm
static G4String calorimeterLeftEDDirName
void SetDefaultValue(G4bool defVal)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
void SetVetoCounterLeftThreshold(G4double value, G4bool fromMessenger=true)
void SetCalorimeterTriggerAlgorithm(CexmcCalorimeterTriggerAlgorithm value, G4bool fromMessenger=true)
static G4String monitorEDDirName
CexmcEnergyDepositDigitizerMessenger(CexmcEnergyDepositDigitizer *energyDepositDigitiser)
void SetRange(const char *rs)
static G4double GetNewDoubleValue(const char *paramString)
void SetDefaultValue(const char *defVal)
G4UIcmdWithAString * setCalorimeterTriggerAlgorithm
void SetVetoCounterRightThreshold(G4double value, G4bool fromMessenger=true)
void SetVetoCountersThreshold(G4double value)
G4UIcmdWith3Vector * addCrystalResolutionRange
static G4bool GetNewBoolValue(const char *paramString)
G4UIcmdWithADoubleAndUnit * setVetoCountersThreshold
void AddCrystalResolutionRange(G4double bottom, G4double top, G4double value, G4bool fromMessenger=true)
static G4double GetNewDoubleValue(const char *paramString)
const XML_Char int const XML_Char * value
CexmcCalorimeterTriggerAlgorithm
void SetCalorimeterLeftThreshold(G4double value, G4bool fromMessenger=true)
void SetCalorimetersThreshold(G4double value)
void SetOuterCrystalsVetoFraction(G4double value, G4bool fromMessenger=true)
G4UIcmdWithABool * applyFiniteCrystalResolution
G4UIcmdWithoutParameter * clearCrystalResolutionData
void SetCandidates(const char *candidateList)
void SetMonitorThreshold(G4double value, G4bool fromMessenger=true)
G4UIcmdWithADoubleAndUnit * setLeftCalorimeterThreshold
static G4String vetoCounterEDDirName
static G4ThreeVector GetNew3VectorValue(const char *paramString)
G4UIcmdWithADouble * setOuterCrystalsVetoFraction
CexmcEnergyDepositDigitizer * energyDepositDigitizer
void SetNewValue(G4UIcommand *cmd, G4String value)
static G4String detectorDirName
void SetDefaultValue(G4double defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithADoubleAndUnit * setCalorimetersThreshold
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4String vetoCounterRightEDDirName
G4UIcmdWithADoubleAndUnit * setMonitorThreshold
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
CexmcOuterCrystalsVetoAlgorithm
void ClearCrystalResolutionData(G4bool fromMessenger=true)
static G4String calorimeterEDDirName
static G4String calorimeterRightEDDirName
void SetCalorimeterRightThreshold(G4double value, G4bool fromMessenger=true)
void SetDefaultValue(G4double defVal)
void ApplyFiniteCrystalResolution(G4bool value, G4bool fromMessenger=true)
G4UIcmdWithADoubleAndUnit * setRightCalorimeterThreshold
static G4String vetoCounterLeftEDDirName
void AvailableForStates(G4ApplicationState s1)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
void SetUnitCandidates(const char *candidateList)
void SetDefaultUnit(const char *defUnit)