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 )
 
   70     setMonitorThreshold->
SetGuidance( 
"Monitor trigger threshold" );
 
   80     setVetoCountersThreshold->
SetGuidance( 
"Veto counters trigger threshold" );
 
   93                                     "Left veto counter trigger threshold" );
 
  106                                     "Right veto counter trigger threshold" );
 
  107     setRightVetoCounterThreshold->
SetParameterName( 
"RightVetoCounterThreshold",
 
  118     setCalorimetersThreshold->
SetGuidance( 
"Calorimeters trigger threshold" );
 
  131                                     "Left calorimeter trigger threshold" );
 
  144                                     "Right calorimeter trigger threshold" );
 
  145     setRightCalorimeterThreshold->
SetParameterName( 
"RightCalorimeterThreshold",
 
  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 );
 
  165     setCalorimeterTriggerAlgorithm->
SetCandidates( 
"all inner" );
 
  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 );
 
  182     setOuterCrystalsVetoAlgorithm->
SetCandidates( 
"none max fraction" );
 
  189               "outerCrystalsVetoFraction" ).c_str(), 
this );
 
  190     setOuterCrystalsVetoFraction->
SetGuidance( 
"\n    Fraction of whole energy " 
  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 );
 
  204     applyFiniteCrystalResolution->
SetGuidance( 
"\n     Specify if finite " 
  205             "energy resolution of the crystals\n     will be accounted" );
 
  207                                         "ApplyFiniteCrystalResolution", 
true );
 
  214               "addCrystalResolutionRange" ).c_str(), 
this );
 
  215     addCrystalResolutionRange->
SetGuidance( 
"\n     Add new energy range " 
  216             "(in GeV!) with fwhm percentage\n     value of crystal resolution " 
  219             "CrystalResolutionRangeBottom", 
"CrystalResolutionRangeTop",
 
  220             "CrystalResolutionRangeValue", 
false );
 
  221     addCrystalResolutionRange->
SetRange( 
"CrystalResolutionRangeBottom >= 0. " 
  222             "&& CrystalResolutionRangeTop >= 0. && " 
  223             "CrystalResolutionRangeValue >= 0." );
 
  229               "clearCrystalResolutionData" ).c_str(), 
this );
 
  230     clearCrystalResolutionData->
SetGuidance( 
"\n     Clear all crystal " 
  231               "resolution ranges.\n     Can be used to redefine crystal " 
  240     delete setMonitorThreshold;
 
  241     delete setVetoCountersThreshold;
 
  242     delete setLeftVetoCounterThreshold;
 
  243     delete setRightVetoCounterThreshold;
 
  244     delete setCalorimetersThreshold;
 
  245     delete setLeftCalorimeterThreshold;
 
  246     delete setRightCalorimeterThreshold;
 
  247     delete setCalorimeterTriggerAlgorithm;
 
  248     delete setOuterCrystalsVetoAlgorithm;
 
  249     delete setOuterCrystalsVetoFraction;
 
  250     delete applyFiniteCrystalResolution;
 
  251     delete addCrystalResolutionRange;
 
  252     delete clearCrystalResolutionData;
 
  261         if ( cmd == setMonitorThreshold )
 
  267         if ( cmd == setVetoCountersThreshold )
 
  273         if ( cmd == setLeftVetoCounterThreshold )
 
  279         if ( cmd == setRightVetoCounterThreshold )
 
  285         if ( cmd == setCalorimetersThreshold )
 
  291         if ( cmd == setLeftCalorimeterThreshold )
 
  297         if ( cmd == setRightCalorimeterThreshold )
 
  303         if ( cmd == setCalorimeterTriggerAlgorithm )
 
  309                 if ( value == 
"inner" )
 
  311                     calorimeterTriggerAlgorithm =
 
  317                                                 calorimeterTriggerAlgorithm );
 
  320         if ( cmd == setOuterCrystalsVetoAlgorithm )
 
  326                 if ( value == 
"max" )
 
  328                     outerCrystalsVetoAlgorithm =
 
  332                 if ( value == 
"fraction" )
 
  334                     outerCrystalsVetoAlgorithm =
 
  340                                                 outerCrystalsVetoAlgorithm );
 
  343         if ( cmd == setOuterCrystalsVetoFraction )
 
  349         if ( cmd == applyFiniteCrystalResolution )
 
  355         if ( cmd == addCrystalResolutionRange )
 
  365         if ( cmd == clearCrystalResolutionData )
 
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
 
void SetOuterCrystalsVetoFraction(G4double value, G4bool fromMessenger=true)
 
void SetCalorimetersThreshold(G4double value)
 
void SetDefaultValue(G4double defVal)
 
void SetCalorimeterLeftThreshold(G4double value, G4bool fromMessenger=true)
 
static G4String vetoCounterEDDirName
 
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
 
static G4String monitorEDDirName
 
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
 
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()
 
void AvailableForStates(G4ApplicationState s1)
 
static G4String calorimeterLeftEDDirName
 
void SetNewValue(G4UIcommand *cmd, G4String value)
 
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
 
const XML_Char int const XML_Char * value
 
void SetCalorimeterTriggerAlgorithm(CexmcCalorimeterTriggerAlgorithm value, G4bool fromMessenger=true)
 
void SetVetoCounterLeftThreshold(G4double value, G4bool fromMessenger=true)
 
void SetCandidates(const char *candidateList)
 
CexmcEnergyDepositDigitizerMessenger(CexmcEnergyDepositDigitizer *energyDepositDigitiser)
 
void SetMonitorThreshold(G4double value, G4bool fromMessenger=true)
 
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
 
static G4String vetoCounterRightEDDirName
 
CexmcCalorimeterTriggerAlgorithm
 
void SetUnitCandidates(const char *candidateList)
 
static G4String vetoCounterLeftEDDirName