2016- Session 5 : Exercise

Code for download: session5_start.tar.gz

Exercise 5a:

  • Complete implementation of the hit and sensitive detector classes for the Drift chamber (EDChamberHit, EDChamberSD) to account the following information when a charged track passed through the detector:
    • the chamber layer number
    • the time when a particle hits chamber
    • the hit global position (the position in the world volume frame)
  • Hints:
    • The code for the layer number is already implemented, add missing code for the other quantities
    • To check if the hits are correctly accounted, add printing of the added hit data in EDChamberHit::Print()

Exercise 5b:

  • Implement hit and sensitive detector classes for the EM calorimeter (EDEmCalorimeterHit, EDEmCalorimeterSD) to account the following information:
    • the layer number
    • the total energy deposit in the layer (= the accumulated deposit from all particles).

    To check your implementation, add printing of the calorimeter hit collection at the end of each event (in EDEmCalorimeterSD::EndOfEvent()), see the similar code in EDChamberSD class)

  • Hints:
    • See example B4/B4c how to account the energy deposit in a calorimeter
    • In difference from Chamber hits, the Calorimeter hits have to be created in EDEmCalorimeterSD::Initialize() and updated in EDEmCalorimeterSD::ProcessHits().

Exercise 5c:

  • Implement drawing Chamber hits:
    • Add and implement EDChamberHit::Draw() function.(See B2TrackerHit class in basic/B2/B2a example).
    • Activate drawing hits in vis.mac macro
  • Add menu in GUI using command line interface
    • Add a menu « View » in the toolbar (on apple computers, the menu bar is always at the top of the screen)
    • In this View menu, add two buttons for setting the viewPoint at Theta/Phi (0,0) and (90,0)
    • In this View menu, add a button for setting a viewPoint and ask for it (define a command without parameters)
  • Explore visualization commands

Solution: session5_solution.tar.gz