47 #include <G4String.hh> 
   62     vetoCounterEDLeft( 0 ), vetoCounterEDRight( 0 ),
 
   63     calorimeterEDLeft( 0 ), calorimeterEDRight( 0 ),
 
   64     calorimeterEDLeftMaxX( 0 ), calorimeterEDLeftMaxY( 0 ),
 
   65     calorimeterEDRightMaxX( 0 ), calorimeterEDRightMaxY( 0 ),
 
   66     monitorHasTriggered( false ), hasTriggered( false ),
 
   67     monitorEDThreshold( 0 ),
 
   68     vetoCounterEDLeftThreshold( 0 ), vetoCounterEDRightThreshold( 0 ),
 
   69     calorimeterEDLeftThreshold( 0 ), calorimeterEDRightThreshold( 0 ),
 
   72     outerCrystalsVetoFraction( 0 ), monitorEDThresholdRef( 0 ),
 
   73     vetoCounterEDLeftThresholdRef( 0 ), vetoCounterEDRightThresholdRef( 0 ),
 
   74     calorimeterEDLeftThresholdRef( 0 ), calorimeterEDRightThresholdRef( 0 ),
 
   77     outerCrystalsVetoFractionRef( 0 ), nCrystalsInColumn( 1 ),
 
   78     nCrystalsInRow( 1 ), applyFiniteCrystalResolution( false ),
 
   82     const CexmcSetup *  setup( static_cast< const CexmcSetup * >(
 
   90     if ( nCrystalsInColumn > 0 )
 
   98         for ( CexmcEnergyDepositCalorimeterCollection::iterator
 
  104         for ( CexmcEnergyDepositCalorimeterCollection::iterator
 
  136     for ( CexmcEnergyDepositCalorimeterCollection::iterator
 
  140         for ( CexmcEnergyDepositCrystalRowCollection::iterator
 
  141                 l( k->begin() ); l != k->end(); ++l )
 
  146     for ( CexmcEnergyDepositCalorimeterCollection::iterator
 
  150         for ( CexmcEnergyDepositCrystalRowCollection::iterator
 
  151                 l( k->begin() ); l != k->end(); ++l )
 
  168          hitsCollection( static_cast< const CexmcEnergyDepositCollection * >(
 
  171     if ( hitsCollection )
 
  174         if ( ( *hitsCollection )[ 0 ] )
 
  183     if ( hitsCollection )
 
  185         for ( CexmcEnergyDepositCollectionData::iterator
 
  186                   k( hitsCollection->GetMap()->begin() );
 
  187                       k != hitsCollection->GetMap()->end(); ++k )
 
  189             G4int      index( k->first );
 
  221     if ( hitsCollection )
 
  223         for ( CexmcEnergyDepositCollectionData::iterator
 
  224                   k( hitsCollection->GetMap()->begin() );
 
  225                       k != hitsCollection->GetMap()->end(); ++k )
 
  227             G4int      index( k->first );
 
  237                 for ( CexmcEnergyRangeWithDoubleValueList::const_iterator
 
  241                     if ( value < l->bottom || value >= l->top )
 
  253                 if ( value > maxEDCrystalLeft )
 
  257                     maxEDCrystalLeft = value;
 
  261                     outerCrystalsEDLeft += value;
 
  265                     innerCrystalsEDLeft += value;
 
  271                 if ( value > maxEDCrystalRight )
 
  275                     maxEDCrystalRight = value;
 
  279                     outerCrystalsEDRight += value;
 
  283                     innerCrystalsEDRight += value;
 
  300         calorimeterEDLeftEffective = innerCrystalsEDLeft;
 
  301         calorimeterEDRightEffective = innerCrystalsEDRight;
 
  343     std::streamsize  
prec( out.precision() );
 
  348     for ( CexmcEnergyDepositCalorimeterCollection::const_reverse_iterator
 
  349             k( edCollection.rbegin() ); k != edCollection.rend(); ++k )
 
  351         for ( CexmcEnergyDepositCrystalRowCollection::const_reverse_iterator
 
  352                 l( k->rbegin() ); l != k->rend(); ++l )
 
  353             out << std::setw( 10 ) << *l;
 
  357     out.precision( 
prec );
 
G4double outerCrystalsVetoFraction
 
ThreeVector shoot(const G4int Ap, const G4int Af)
 
CexmcEnergyDepositCalorimeterCollection calorimeterEDRightCollection
 
const G4VUserDetectorConstruction * GetUserDetectorConstruction() const 
 
static G4int GetColumn(G4int index)
 
G4int calorimeterEDLeftMaxY
 
CexmcEnergyDepositDigitizer(const G4String &name)
 
G4double monitorEDThreshold
 
const G4String CexmcDetectorTypeName[CexmcNumberOfDetectorTypes]
 
static G4DigiManager * GetDMpointer()
 
CexmcEnergyRangeWithDoubleValueList crystalResolutionData
 
G4double vetoCounterEDLeftThreshold
 
const G4VHitsCollection * GetHitsCollection(G4int HCID, G4int eventID=0)
 
CexmcCalorimeterTriggerAlgorithm calorimeterTriggerAlgorithm
 
G4int calorimeterEDRightMaxY
 
G4bool monitorHasTriggered
 
G4bool ProjectIsRead(void) const 
 
G4bool IsOuterCrystal(G4int column, G4int row) const 
 
G4bool applyFiniteCrystalResolution
 
std::ostream & operator<<(std::ostream &out, const CexmcEnergyDepositCalorimeterCollection &edCollection)
 
CexmcEnergyDepositDigitizerMessenger * messenger
 
std::vector< CexmcEnergyDepositCrystalRowCollection > CexmcEnergyDepositCalorimeterCollection
 
G4int GetHitsCollectionID(G4String HCname)
 
const G4String CexmcDetectorRoleName[CexmcNumberOfDetectorRoles]
 
void InitializeData(void)
 
static G4int GetRow(G4int index)
 
static G4RunManager * GetRunManager()
 
CexmcOuterCrystalsVetoAlgorithm outerCrystalsVetoAlgorithm
 
~CexmcEnergyDepositDigitizer()
 
G4int calorimeterEDRightMaxX
 
CexmcEnergyDepositCalorimeterCollection calorimeterEDLeftCollection
 
G4double calorimeterEDRight
 
const CalorimeterGeometryData & GetCalorimeterGeometry(void) const 
 
G4double calorimeterEDRightThreshold
 
const G4double CexmcFwhmToStddev(0.42466)
 
static CexmcSide GetSide(G4int index)
 
G4double calorimeterEDLeftThreshold
 
G4double vetoCounterEDRight
 
G4double vetoCounterEDRightThreshold
 
G4double calorimeterEDLeft
 
G4double vetoCounterEDLeft
 
G4int calorimeterEDLeftMaxX