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 )
   221     if ( hitsCollection )
   223         for ( CexmcEnergyDepositCollectionData::iterator
   224                   k( hitsCollection->GetMap()->begin() );
   225                       k != hitsCollection->GetMap()->end(); ++k )
   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)
 
G4bool ProjectIsRead(void) const
 
CexmcEnergyDepositCalorimeterCollection calorimeterEDRightCollection
 
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 applyFiniteCrystalResolution
 
std::ostream & operator<<(std::ostream &out, const CexmcEnergyDepositCalorimeterCollection &edCollection)
 
G4bool IsOuterCrystal(G4int column, G4int row) const
 
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
 
G4double calorimeterEDRightThreshold
 
const G4double CexmcFwhmToStddev(0.42466)
 
static CexmcSide GetSide(G4int index)
 
G4double calorimeterEDLeftThreshold
 
G4double vetoCounterEDRight
 
G4double vetoCounterEDRightThreshold
 
const G4VUserDetectorConstruction * GetUserDetectorConstruction() const
 
G4double calorimeterEDLeft
 
const CalorimeterGeometryData & GetCalorimeterGeometry(void) const
 
G4double vetoCounterEDLeft
 
G4int calorimeterEDLeftMaxX