44 #ifndef CEXMC_ENERGY_DEPOSIT_DIGITIZER_HH 
   45 #define CEXMC_ENERGY_DEPOSIT_DIGITIZER_HH 
  101                                        G4bool  fromMessenger = 
true );
 
  104                                                G4bool  fromMessenger = 
true );
 
  107                                                 G4bool  fromMessenger = 
true );
 
  112                                                G4bool  fromMessenger = 
true );
 
  115                                                 G4bool  fromMessenger = 
true );
 
  121                                     G4bool  fromMessenger = 
true );
 
  125                                     G4bool  fromMessenger = 
true );
 
  128                                                 G4bool  fromMessenger = 
true );
 
  131                                                 G4bool  fromMessenger = 
true );
 
  135                                              G4bool  fromMessenger = 
true );
 
  169         void      InitializeData( 
void );
 
  186         G4int                                    calorimeterEDLeftMaxX;
 
  188         G4int                                    calorimeterEDLeftMaxY;
 
  190         G4int                                    calorimeterEDRightMaxX;
 
  192         G4int                                    calorimeterEDRightMaxY;
 
  194         G4bool                                   monitorHasTriggered;
 
  201         G4double                                 vetoCounterEDLeftThreshold;
 
  203         G4double                                 vetoCounterEDRightThreshold;
 
  205         G4double                                 calorimeterEDLeftThreshold;
 
  207         G4double                                 calorimeterEDRightThreshold;
 
  217         G4double                                 vetoCounterEDLeftThresholdRef;
 
  219         G4double                                 vetoCounterEDRightThresholdRef;
 
  221         G4double                                 calorimeterEDLeftThresholdRef;
 
  223         G4double                                 calorimeterEDRightThresholdRef;
 
  229         G4double                                 outerCrystalsVetoFractionRef;
 
  232         G4int                                    nCrystalsInColumn;
 
  234         G4int                                    nCrystalsInRow;
 
  237         G4bool                                   applyFiniteCrystalResolution;
 
  254     return vetoCounterEDLeft;
 
  261     return vetoCounterEDRight;
 
  267     return calorimeterEDLeft;
 
  274     return calorimeterEDRight;
 
  281     return calorimeterEDLeftMaxX;
 
  288     return calorimeterEDLeftMaxY;
 
  295     return calorimeterEDRightMaxX;
 
  302     return calorimeterEDRightMaxY;
 
  309     return calorimeterEDLeftCollection;
 
  316     return calorimeterEDRightCollection;
 
  322     return monitorHasTriggered;
 
  337                                        value < monitorEDThresholdRef );
 
  339         monitorEDThresholdRef = 
value;
 
  341     monitorEDThreshold = 
value;
 
  350                                        value > vetoCounterEDLeftThresholdRef );
 
  352         vetoCounterEDLeftThresholdRef = 
value;
 
  354     vetoCounterEDLeftThreshold = 
value;
 
  363                                        value > vetoCounterEDRightThresholdRef );
 
  365         vetoCounterEDRightThresholdRef = 
value;
 
  367     vetoCounterEDRightThreshold = 
value;
 
  375                                    value > vetoCounterEDLeftThresholdRef ||
 
  376                                    value > vetoCounterEDRightThresholdRef );
 
  378     vetoCounterEDLeftThreshold = 
value;
 
  379     vetoCounterEDRightThreshold = 
value;
 
  388                                        value < calorimeterEDLeftThresholdRef );
 
  390         calorimeterEDLeftThresholdRef = 
value;
 
  392     calorimeterEDLeftThreshold = 
value;
 
  401                                        value < calorimeterEDRightThresholdRef );
 
  403         calorimeterEDRightThresholdRef = 
value;
 
  405     calorimeterEDRightThreshold = 
value;
 
  413                                    value < calorimeterEDLeftThresholdRef ||
 
  414                                    value < calorimeterEDRightThresholdRef );
 
  416     calorimeterEDLeftThreshold = 
value;
 
  417     calorimeterEDRightThreshold = 
value;
 
  426             ! ( calorimeterTriggerAlgorithmRef ==
 
  428                 value == calorimeterTriggerAlgorithmRef ) );
 
  430         calorimeterTriggerAlgorithmRef = 
value;
 
  432     calorimeterTriggerAlgorithm = 
value;
 
  442                 value == outerCrystalsVetoAlgorithmRef ) );
 
  444         outerCrystalsVetoAlgorithmRef = 
value;
 
  446     outerCrystalsVetoAlgorithm = 
value;
 
  455                                        value > outerCrystalsVetoFractionRef );
 
  457         outerCrystalsVetoFractionRef = 
value;
 
  459     outerCrystalsVetoFraction = 
value;
 
  469     applyFiniteCrystalResolution = 
value;
 
  482                                             bottom * 
GeV, top * GeV, value ) );
 
  492     crystalResolutionData.clear();
 
  500     crystalResolutionData = 
data;
 
  507     return column == 0 || column == nCrystalsInRow - 1 ||
 
  508            row == 0 || row == nCrystalsInColumn - 1;
 
  514     return monitorEDThreshold;
 
  521     return vetoCounterEDLeftThreshold;
 
  528     return vetoCounterEDRightThreshold;
 
  535     return calorimeterEDLeftThreshold;
 
  542     return calorimeterEDRightThreshold;
 
  550     return calorimeterTriggerAlgorithm;
 
  558     return outerCrystalsVetoAlgorithm;
 
  565     return outerCrystalsVetoFraction;
 
  572     return applyFiniteCrystalResolution;
 
  579     return crystalResolutionData;
 
  583 std::ostream &  
operator<<( std::ostream &  out,
 
G4bool HasTriggered(void) const 
void SetOuterCrystalsVetoFraction(G4double value, G4bool fromMessenger=true)
void SetCalorimetersThreshold(G4double value)
G4double GetVetoCounterEDRight(void) const 
void SetCalorimeterLeftThreshold(G4double value, G4bool fromMessenger=true)
CexmcEnergyDepositDigitizer(const G4String &name)
void SetVetoCountersThreshold(G4double value)
void SetOuterCrystalsVetoAlgorithm(CexmcOuterCrystalsVetoAlgorithm value, G4bool fromMessenger=true)
CexmcSimpleRangeWithValue< CexmcEnergyValueCategory > CexmcEnergyRangeWithDoubleValue
void ClearCrystalResolutionData(G4bool fromMessenger=true)
void SetCalorimeterRightThreshold(G4double value, G4bool fromMessenger=true)
void SetVetoCounterRightThreshold(G4double value, G4bool fromMessenger=true)
CexmcOuterCrystalsVetoAlgorithm GetOuterCrystalsVetoAlgorithm(void) const 
G4bool IsOuterCrystal(G4int column, G4int row) const 
const XML_Char const XML_Char * data
G4bool MonitorHasTriggered(void) const 
G4int GetCalorimeterEDRightMaxY(void) const 
G4bool IsFiniteCrystalResolutionApplied(void) const 
std::vector< CexmcEnergyDepositCrystalRowCollection > CexmcEnergyDepositCalorimeterCollection
const XML_Char int const XML_Char * value
G4double GetVetoCounterEDLeft(void) const 
void AddCrystalResolutionRange(G4double bottom, G4double top, G4double value, G4bool fromMessenger=true)
G4double GetMonitorED(void) const 
void SetCrystalResolutionData(const CexmcEnergyRangeWithDoubleValueList &data)
const CexmcEnergyRangeWithDoubleValueList & GetCrystalResolutionData(void) const 
CexmcCalorimeterTriggerAlgorithm GetCalorimeterTriggerAlgorithm(void) const 
G4double GetCalorimeterRightThreshold(void) const 
G4int GetCalorimeterEDLeftMaxY(void) const 
G4double GetCalorimeterEDRight(void) const 
~CexmcEnergyDepositDigitizer()
std::ostream & operator<<(std::ostream &, const BasicVector3D< float > &)
G4int GetCalorimeterEDLeftMaxX(void) const 
static constexpr double GeV
void ApplyFiniteCrystalResolution(G4bool value, G4bool fromMessenger=true)
const CexmcEnergyDepositCalorimeterCollection & GetCalorimeterEDRightCollection(void) const 
CexmcOuterCrystalsVetoAlgorithm
void SetCalorimeterTriggerAlgorithm(CexmcCalorimeterTriggerAlgorithm value, G4bool fromMessenger=true)
void SetVetoCounterLeftThreshold(G4double value, G4bool fromMessenger=true)
void ThrowExceptionIfProjectIsRead(CexmcExceptionType type, G4bool extraCond=true)
G4int GetCalorimeterEDRightMaxX(void) const 
const CexmcEnergyDepositCalorimeterCollection & GetCalorimeterEDLeftCollection(void) const 
G4double GetMonitorThreshold(void) const 
G4double GetVetoCounterLeftThreshold(void) const 
G4double GetOuterCrystalsVetoFraction(void) const 
G4double GetCalorimeterLeftThreshold(void) const 
void SetMonitorThreshold(G4double value, G4bool fromMessenger=true)
CexmcCalorimeterTriggerAlgorithm
G4double GetCalorimeterEDLeft(void) const 
std::vector< CexmcEnergyRangeWithDoubleValue > CexmcEnergyRangeWithDoubleValueList
G4double GetVetoCounterRightThreshold(void) const