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 SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithABool * applyFiniteCrystalResolution
void SetOuterCrystalsVetoFraction(G4double value, G4bool fromMessenger=true)
void SetCalorimetersThreshold(G4double value)
void SetDefaultValue(G4double defVal)
G4UIcmdWithADoubleAndUnit * setRightCalorimeterThreshold
CLHEP::Hep3Vector G4ThreeVector
void SetCalorimeterLeftThreshold(G4double value, G4bool fromMessenger=true)
static G4String vetoCounterEDDirName
G4UIcmdWithoutParameter * clearCrystalResolutionData
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
static G4String monitorEDDirName
G4UIcmdWithADouble * setOuterCrystalsVetoFraction
G4UIcmdWithADoubleAndUnit * setLeftVetoCounterThreshold
void SetVetoCountersThreshold(G4double value)
void SetOuterCrystalsVetoAlgorithm(CexmcOuterCrystalsVetoAlgorithm value, G4bool fromMessenger=true)
static G4String detectorDirName
void ClearCrystalResolutionData(G4bool fromMessenger=true)
void SetCalorimeterRightThreshold(G4double value, G4bool fromMessenger=true)
void SetVetoCounterRightThreshold(G4double value, G4bool fromMessenger=true)
static G4double GetNewDoubleValue(const char *paramString)
static G4bool GetNewBoolValue(const char *paramString)
static G4String calorimeterEDDirName
void SetDefaultValue(G4bool defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4String calorimeterRightEDDirName
G4UIcmdWithADoubleAndUnit * setVetoCountersThreshold
static G4ThreeVector GetNew3VectorValue(const char *paramString)
void AddCrystalResolutionRange(G4double bottom, G4double top, G4double value, G4bool fromMessenger=true)
static G4double GetNewDoubleValue(const char *paramString)
void SetRange(const char *rs)
void SetGuidance(const char *aGuidance)
~CexmcEnergyDepositDigitizerMessenger()
G4UIcmdWith3Vector * addCrystalResolutionRange
void AvailableForStates(G4ApplicationState s1)
static G4String calorimeterLeftEDDirName
G4UIcmdWithAString * setOuterCrystalsVetoAlgorithm
void SetNewValue(G4UIcommand *cmd, G4String value)
G4UIcmdWithADoubleAndUnit * setLeftCalorimeterThreshold
G4UIcmdWithAString * setCalorimeterTriggerAlgorithm
G4UIcmdWithADoubleAndUnit * setRightVetoCounterThreshold
void SetDefaultValue(const char *defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
T max(const T t1, const T t2)
brief Return the largest of the two arguments
void SetDefaultUnit(const char *defUnit)
void SetDefaultValue(G4double defVal)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
void ApplyFiniteCrystalResolution(G4bool value, G4bool fromMessenger=true)
CexmcOuterCrystalsVetoAlgorithm
void SetCalorimeterTriggerAlgorithm(CexmcCalorimeterTriggerAlgorithm value, G4bool fromMessenger=true)
void SetVetoCounterLeftThreshold(G4double value, G4bool fromMessenger=true)
void SetCandidates(const char *candidateList)
CexmcEnergyDepositDigitizerMessenger(CexmcEnergyDepositDigitizer *energyDepositDigitiser)
G4UIcmdWithADoubleAndUnit * setCalorimetersThreshold
G4UIcmdWithADoubleAndUnit * setMonitorThreshold
void SetMonitorThreshold(G4double value, G4bool fromMessenger=true)
CexmcEnergyDepositDigitizer * energyDepositDigitizer
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4String vetoCounterRightEDDirName
CexmcCalorimeterTriggerAlgorithm
void SetUnitCandidates(const char *candidateList)
static G4String vetoCounterLeftEDDirName